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

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Category:84PCE:General_Hardware_Information</id>
		<title>Category:84PCE:General Hardware Information</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Category:84PCE:General_Hardware_Information"/>
				<updated>2015-04-02T17:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Adding PL111 doc links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The TI-84 Plus CE and TI-83 Premium are two models new in 2015. The former is for the USA region (maybe all of North American?) and the latter is for France. The hardware is virtually identical between the two models.&lt;br /&gt;
&lt;br /&gt;
Known hardware facts:&lt;br /&gt;
* eZ80 CPU&lt;br /&gt;
** Physical clock speed believed to be 48 MHz&lt;br /&gt;
** Effective clock speed between 12-15 MHz&lt;br /&gt;
** CPU might be clocked faster but have a lot of wait states&lt;br /&gt;
* 4 MB flash chip&lt;br /&gt;
** Bottom-boot organization this time&lt;br /&gt;
* 256 K main RAM&lt;br /&gt;
* Memory-mapped LCD&lt;br /&gt;
** 153600 bytes of VRAM confirmed, unknown if more exists&lt;br /&gt;
** Possibly an ARM Primecell PL111[http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0293c/index.html &amp;lt;nowiki&amp;gt;[HTML]&amp;lt;/nowiki&amp;gt;][http://infocenter.arm.com/help/topic/com.arm.doc.ddi0293c/DDI0293.pdf &amp;lt;nowiki&amp;gt;[PDF]&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
* French version has testing LED; American version may get a testing LED in the future&lt;br /&gt;
* User programs are prohibited from using any IN/OUT instructions&lt;br /&gt;
** OUT causes a reset&lt;br /&gt;
** IN produces a constant value&lt;br /&gt;
*** Rather, ports are now memory mapped to certain RAM addresses&lt;br /&gt;
*** However, ports controlling items such as the testing LED remain off-limits, for good reasons.&lt;br /&gt;
* Flash starts at $000000&lt;br /&gt;
** There is also still a flash unlock sequence&lt;br /&gt;
* RAM starts at $D00000&lt;br /&gt;
* Assembly programs and TI-BASIC programs are limited to one sector (64KB)&lt;br /&gt;
* VRAM starts at $D40000&lt;br /&gt;
** VRAM is executable&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Compilers</id>
		<title>Compilers</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Compilers"/>
				<updated>2015-02-12T06:07:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== z80 ==&lt;br /&gt;
* '''SDCC''' is an open source C compiler for microcontrollers.  It can output z80 assembly.  However, the code is bloated and inefficient.&lt;br /&gt;
* '''z88dk''' is a derivative of the Small-C compiler.  It is targeted specifically at the z80 line of processors and even has dedicated TI file format outputs.  The code is very bloated and can be less efficient than SDCC.&lt;br /&gt;
* The '''HI-TECH Z80 C Compiler''' is a very old and unsupported compiler by HI-TECH that produces much better-quality code than the two compilers mentioned above (Although recent SDCC versions are able to generate code comparable to the HI-TECH C compiler).  However, HI-TECH has discontinued this compiler and it is very difficult to obtain a copy.  Furthermore, it is a commercial, not open-source, compiler, so using it without a license is of questionable legality.&lt;br /&gt;
&lt;br /&gt;
== 68k ==&lt;br /&gt;
* '''TIGCC''' is the original C compiler for 68k calculators.  It is a patched version of the GNU Compiler Collection, and only supports C.&lt;br /&gt;
* '''GCC4TI''' is a 2009 fork of TIGCC.&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Compilers</id>
		<title>Compilers</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Compilers"/>
				<updated>2015-02-12T06:06:06Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: z88dk is based on Small-C, not the same as SDCC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== z80 ==&lt;br /&gt;
* '''SDCC''' is an open source C compiler for microcontrollers.  It can output z80 assembly.  However, as the compiler is retargetable, the code is bloated and inefficient.&lt;br /&gt;
* '''z88dk''' is a derivative of the Small-C compiler.  It is targeted specifically at the z80 line of processors and even has dedicated TI file format outputs.  The code is very bloated and less efficient than SDCC.&lt;br /&gt;
* The '''HI-TECH Z80 C Compiler''' is a very old and unsupported compiler by HI-TECH that produces much better-quality code than the two compilers mentioned above (Although recent SDCC versions are able to generate code comparable to the HI-TECH C compiler).  However, HI-TECH has discontinued this compiler and it is very difficult to obtain a copy.  Furthermore, it is a commercial, not open-source, compiler, so using it without a license is of questionable legality.&lt;br /&gt;
&lt;br /&gt;
== 68k ==&lt;br /&gt;
* '''TIGCC''' is the original C compiler for 68k calculators.  It is a patched version of the GNU Compiler Collection, and only supports C.&lt;br /&gt;
* '''GCC4TI''' is a 2009 fork of TIGCC.&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Calculator_Documentation</id>
		<title>Calculator Documentation</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Calculator_Documentation"/>
				<updated>2015-02-12T05:56:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Placeholder for 84P CE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== TI-83 (Regular) ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:83:ROMCalls:By_Name|ROMCalls (System Entrypoints)]]&lt;br /&gt;
* [[:Category:83:Flags:By_Name|Flags]]&lt;br /&gt;
* [[:Category:83:OS_Information|General OS Documentation]]&lt;br /&gt;
* [[:Category:83:Ports:By_Address|Ports]]&lt;br /&gt;
* [[:Category:83:RAM:By_Name|RAM Areas]]&lt;br /&gt;
&lt;br /&gt;
== TI-83 Plus Family ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:83Plus:BCALLs:By_Name|B_CALLs (System Entrypoints)]]&lt;br /&gt;
* [[:Category:83Plus:Flags:By_Name|Flags]]&lt;br /&gt;
* [[:Category:83Plus:OS_Information|General OS Documentation]]&lt;br /&gt;
* [[:Category:83Plus:General_Hardware_Information|General Hardware Documentation]]&lt;br /&gt;
* [[:Category:83Plus:Hooks:By_Name|Hooks]]&lt;br /&gt;
* [[:Category:83Plus:Ports:By_Address|Ports]]&lt;br /&gt;
* [[:Category:83Plus:RAM:By_Name|RAM Areas]]&lt;br /&gt;
* [[:Category:83Plus:Basic|TI-83+ Basic]]&lt;br /&gt;
* [[:Category:83Plus:Quirks|Quirks]]&lt;br /&gt;
&lt;br /&gt;
== TI-84+CSE ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:84PCSE:BCALLs:By_Name|B_CALLs (System Entrypoints)]]&lt;br /&gt;
* [[:Category:84PCSE:Flags:By_Name|Flags]]&lt;br /&gt;
* [[:Category:84PCSE:OS_Information|General OS Documentation]]&lt;br /&gt;
* [[:Category:84PCSE:General_Hardware_Information|General Hardware Documentation]]&lt;br /&gt;
* [[:Category:84PCSE:Hooks:By_Name|Hooks]]&lt;br /&gt;
* [[:Category:84PCSE:RAM:By_Name|RAM Areas]]&lt;br /&gt;
* [[:Category:84PCSE:Basic|TI-83+ Basic]]&lt;br /&gt;
N.b.: Because the TI-84+CSE is based on the older TI-84+ ASIC, much of the hardware related documentation is the same. Therefore, the port list for the TI-84+CSE shall be combined with the TI-83+ ports.&lt;br /&gt;
&lt;br /&gt;
== TI-84 Plus CE ==&lt;br /&gt;
Since this calculator is yet to be released until Spring of 2015, there is limited known information on this model.&lt;br /&gt;
&lt;br /&gt;
== TI-86 ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:86:ROMCalls:By_Name|ROMCalls (System Entrypoints)]]&lt;br /&gt;
* [[:Category:86:Flags:By_Name|Flags]]&lt;br /&gt;
* [[:Category:86:OS_Information|General OS Documentation]]&lt;br /&gt;
* [[:Category:86:Ports:By_Address|Ports]]&lt;br /&gt;
* [[:Category:86:RAM:By_Name|RAM Areas]]&lt;br /&gt;
&lt;br /&gt;
== M68K Family ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:68k:Ports:By_Address|Ports]]&lt;br /&gt;
&lt;br /&gt;
== Z80 programming ==&lt;br /&gt;
* [[Meta-tutorial]]&lt;br /&gt;
* [[:Category:Z80_Routines|Z80 Routines]]&lt;br /&gt;
* [[Z80 Instruction Set]]&lt;br /&gt;
* [[Z80 Good Programming Practices]]&lt;br /&gt;
* [[Z80 Optimization]]&lt;br /&gt;
* [[Programming cross z80 calculators]]&lt;br /&gt;
* [[Programming APPS vs. Ram Programs]]&lt;br /&gt;
* [[Programming under Unix-like operating systems]]&lt;br /&gt;
* [[Programming an OS for z80 calculators]]&lt;br /&gt;
&lt;br /&gt;
== Calculator Software ==&lt;br /&gt;
* [[Notable programs]]&lt;br /&gt;
* [[:Category:83Plus:Software|83Plus Software Documentation]]&lt;br /&gt;
* [[Experiments]]&lt;br /&gt;
&lt;br /&gt;
== Computer Software ==&lt;br /&gt;
* [[Link software]]&lt;br /&gt;
* [[:Category:Emulators|Emulators]]&lt;br /&gt;
* [[Assemblers]]&lt;br /&gt;
* [[Compilers]]&lt;br /&gt;
* [[IDEs]]&lt;br /&gt;
* [[Disassemblers]]&lt;br /&gt;
&lt;br /&gt;
== TI Community ==&lt;br /&gt;
&lt;br /&gt;
* [[Beginners|Beginners' manual]]&lt;br /&gt;
* [[Calculator General FAQ]]&lt;br /&gt;
* [[History of the TI Z80 community]]&lt;br /&gt;
* [[:Category:Teams|Programming Teams List]]&lt;br /&gt;
* [[TI websites|TI Web Sites List]]&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
Please read our page on [[Contributing]] before you start contributing to WikiTI.&lt;br /&gt;
&lt;br /&gt;
If you feel like contributing but do not know where, see the [[To Do List]].&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Programming_under_Unix-like_operating_systems</id>
		<title>Programming under Unix-like operating systems</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Programming_under_Unix-like_operating_systems"/>
				<updated>2012-12-07T17:47:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Added 2 more emulators&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are the different tools at your disposal:&lt;br /&gt;
&lt;br /&gt;
= General Overviews =&lt;br /&gt;
&lt;br /&gt;
==Emulators==&lt;br /&gt;
* [http://lpg.ticalc.org/prj_tilem/ TilEm]&lt;br /&gt;
* [http://wabbit.codeplex.com/releases/view/44625 WabbitEmu] through Wine&lt;br /&gt;
* [http://www.cemetech.net/projects/jstified/ jsTIfied]&lt;br /&gt;
* VirtualTI through wine&lt;br /&gt;
* [[PindurTI]] through Wine&lt;br /&gt;
* [[PindurTI]] in non-interactive mode (with or without [http://kvince83.tengun.net/maxboard/viewtopic.php?t=2466 PTI frontend])&lt;br /&gt;
&lt;br /&gt;
==Syntax highlighting==&lt;br /&gt;
Several editors have native or extensional support for editing Z80 assembly code with syntax highlighting:&lt;br /&gt;
* Kwrite and Kate can be made to syntax-highlight Z80 assembly with [http://www.ticalc.org/archives/files/fileinfo/391/39178.html the appropriate definition file].  The file must be placed in /usr/share/apps/katepart/syntax .&lt;br /&gt;
* SciTE and Emacs both have native modes for assembly code.  For Emacs, one must make sure to turn on Font Lock mode as well.&lt;br /&gt;
* The [http://www.revsoft.org/phpBB2/viewforum.php?f=25 Z80 Assembly IDE] has simple syntax highlighting built-in.&lt;br /&gt;
* Users of Vim and WLA DX can use [http://www.cpcwiki.eu/index.php/How_to_use_VIM_for_CrossDev#Z80_files_detection this syntax file].&lt;br /&gt;
&lt;br /&gt;
== Assembling ==&lt;br /&gt;
&lt;br /&gt;
=== SPASM ===&lt;br /&gt;
&lt;br /&gt;
'''Author''': Spencer Putt&lt;br /&gt;
&lt;br /&gt;
'''Home Page''': [http://www.revsoft.org/phpBB3/viewforum.php?f=21 http://www.revsoft.org/phpBB3/viewforum.php?f=21]&lt;br /&gt;
&lt;br /&gt;
SPASM is a portable Z80 assembler released under the GPL.  Its distinguishing features are extremely fast assembly and powerful macro support.  The output is only available in binary form, however with the use of [http://www.revsoft.org/phpBB2/viewforum.php?f=23 Wabbitsign], written by James Montelongo and Spencer Putt, it can easily be converted to any desired program type.&lt;br /&gt;
&lt;br /&gt;
 assembler foo.asm foo.bin&lt;br /&gt;
 wabbit foo.bin foo.8xp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SPASM and Wabbitsign are included in [http://www.ticalc.org/archives/files/fileinfo/390/39009.html Z80 Assembly IDE 1.32] by burntfuse&lt;br /&gt;
&lt;br /&gt;
=== tpasm ===&lt;br /&gt;
&lt;br /&gt;
'''Author''': Todd Squires&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://www.sqrt.com/ http://www.sqrt.com/]&lt;br /&gt;
&lt;br /&gt;
tpasm is a Free (GPL) assembler which supports the Z80 as well as the 6805, 6809, 68HC11, 6502, Sunplus, 8051, PIC, and AVR.  It uses syntax very similar to ZMASM.&lt;br /&gt;
&lt;br /&gt;
tpasm 1.2 does not support binary file output, but you can use ''objcopy'' (from the GNU binutils package) to convert its Intel Hex output into binary; e.g.&lt;br /&gt;
&lt;br /&gt;
 tpasm foo.asm -o intel foo.hex -l foo.lst&lt;br /&gt;
 objcopy -I ihex foo.hex -O binary foo.bin&lt;br /&gt;
&lt;br /&gt;
tpasm 1.4 has a bug where the set pseudo-opcode takes precedence over the Z80 set instruction.  A quickfix is to disable the set pseudo-opcode by commenting line 86 of pseudo.c (.set is still available).&lt;br /&gt;
&lt;br /&gt;
=== ASxxxx ===&lt;br /&gt;
&lt;br /&gt;
'''Author''': Alan R. Baldwin&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://shop-pdp.kent.edu/ashtml/asxxxx.htm http://shop-pdp.kent.edu/ashtml/asxxxx.htm]&lt;br /&gt;
&lt;br /&gt;
ASxxxx is a freeware assembler which supports the Z80 along with a large variety of other processors.  It more closely resembles a modern PC assembler than a typical Z80 assembler, as it assembles each file into a relocatable object format which can then be linked with other files to produce the complete program.  The linking is done by a separate program called ASlink (included with the package.)&lt;br /&gt;
&lt;br /&gt;
To assemble and link a simple program you might do something like&lt;br /&gt;
&lt;br /&gt;
 asz80 -plogff foo.asm&lt;br /&gt;
 aslink -u -b _CODE=0x9D95 -i foo.ihx foo.rel&lt;br /&gt;
 objcopy -I ihex foo.ihx -O binary foo.bin&lt;br /&gt;
&lt;br /&gt;
Note that the syntax is rather different from that of most Z80 assemblers.  The important differences are&lt;br /&gt;
* Immediate values are marked with #.&lt;br /&gt;
* Indexed memory access is written as N(ix) rather than (ix+N).&lt;br /&gt;
* Constants are written differently: 0xAA, 0hAA, or $$AA for hexadecimal; 0o252, 0q252, or $&amp;amp;252 for octal; 0b10101010 or $%10101010 for binary.&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
 ld hl,#str_hello&lt;br /&gt;
 add a,3(ix)&lt;br /&gt;
 xor #0x0f&lt;br /&gt;
&lt;br /&gt;
There is also a modified version of ASxxxx distributed with the [http://sdcc.sf.net/ Small Device C Compiler].  This version is, if anything, more confusing to use due to the poorly-documented changes made by the SDCC team.&lt;br /&gt;
&lt;br /&gt;
=== TASM ===&lt;br /&gt;
&lt;br /&gt;
'''Author''': Thomas N. Anderson&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://home.comcast.net/~tasm/ http://home.comcast.net/~tasm/]&lt;br /&gt;
&lt;br /&gt;
TASM is a shareware assembler which also supports a variety of processors.&lt;br /&gt;
&lt;br /&gt;
There are several ways that you can use tasm under Linux:&lt;br /&gt;
* The TASM 3.1 for Linux shareware release is still in the wild.  To use this you will need to enable &amp;quot;a.out&amp;quot; support in your kernel (it may be available as the module ''binfmt_aout''.)  You will also need to obtain the ancient Linux libc version 4 (''not'' glibc) which can be found [http://ftp.linux.org.uk/pub/linux/libc/ here].&lt;br /&gt;
* You can use TASM 3.2 for Windows with [http://www.winehq.com Wine].&lt;br /&gt;
* You can pay the $40 and compile it yourself on the platform of your choice.&lt;br /&gt;
&lt;br /&gt;
=== Brass ===&lt;br /&gt;
'''Author''': benryves&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://benryves.com/bin/brass/ http://benryves.com/bin/brass/]&lt;br /&gt;
&lt;br /&gt;
Brass runs under Linux thanks to Mono.&lt;br /&gt;
&lt;br /&gt;
=== Zasm ===&lt;br /&gt;
'''Author''': Steven Deprez&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://lpg.ticalc.org/prj_zasm/index.html http://lpg.ticalc.org/prj_zasm/index.html]&lt;br /&gt;
&lt;br /&gt;
Zasm is an open source assembler that is almost fully compatible with Tasm and ZDS.&lt;br /&gt;
&lt;br /&gt;
=== WLA DX ===&lt;br /&gt;
'''Author''': Ville Helin&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://www.villehelin.com/wla.html http://www.villehelin.com/wla.html]&lt;br /&gt;
&lt;br /&gt;
WLA DX is another open-source (GNU GPL) cross-assembler with a primary focus on targeting video game consoles. It is a high-powered assembler with a wide variety of features such as, e.g. separate compilation, POSIX-like file I/O, and code sectioning. However it is cumbersome when assembling small projects, and semantics are unorthodox compared to other assemblers. (~ is the XOR operator, macro arguments are passed by value, etc.).&lt;br /&gt;
&lt;br /&gt;
WLA DX has had an influence in the development of Brass.&lt;br /&gt;
&lt;br /&gt;
=== Pasmo ===&lt;br /&gt;
'''Author''': Juli&amp;amp;aacute;n Albo&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://www.arrakis.es/~ninsesabe/pasmo/ http://www.arrakis.es/~ninsesabe/pasmo/]&lt;br /&gt;
&lt;br /&gt;
Pasmo is another standalone Z80 cross-assembler with basic macro support, but without the ability to generate&lt;br /&gt;
relocatable object files.  It is licensed under the GNU GPL, and exists as the package &amp;lt;tt&amp;gt;pasmo&amp;lt;/tt&amp;gt; in the Debian pool.&lt;br /&gt;
&lt;br /&gt;
=== z80asm ===&lt;br /&gt;
'''Author''': Bas Wijnen&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://savannah.nongnu.org/projects/z80asm/ http://savannah.nongnu.org/projects/z80asm/]&lt;br /&gt;
&lt;br /&gt;
z80asm is a standalone Z80 cross-assembler similar in nature to Pasmo, in that it has macro support but cannot generate relocatable object files.  It too is licensed under the GNU GPL (version 2 or later), and exists as the package &amp;lt;tt&amp;gt;z80asm&amp;lt;/tt&amp;gt; in the Debian pool.&lt;br /&gt;
&lt;br /&gt;
=== GNU as ===&lt;br /&gt;
'''Author''': the GNU binutils team&lt;br /&gt;
&lt;br /&gt;
'''Home page''': [http://www.gnu.org/software/binutils/ http://www.gnu.org/software/binutils/]&lt;br /&gt;
&lt;br /&gt;
Starting from version 2.17, the GNU assembler, part of the binutils package, is capable of cross-assembling Z80 code when configured for it at compile-time, such as with &amp;lt;tt&amp;gt;--target=z80-unknown-coff&amp;lt;/tt&amp;gt;.  binutils includes a powerful assembler and linker both, along with various utilities for handling object files, such as objcopy and objdump; for Z80, COFF is used for relocatable objects, with raw binary and Intel hex formats also supported.  While this is probably one of the more powerful tools in the list for Z80 development, it also requires more work to start with, as the traditional way to get a cross-assembling binutils is to compile it oneself.  Being a GNU package, binutils is naturally licensed under the GNU GPL (version 2 or later).  Prepackaged binary versions of binutils are very common, but usually do not have cross-assembling capability.&lt;br /&gt;
&lt;br /&gt;
==Sending programs to the calc==&lt;br /&gt;
* [http://www.ticalc.org/archives/files/fileinfo/374/37480.html TiLP-II] (requires [http://www.ticalc.org/archives/files/fileinfo/374/37479.html tilibs])&lt;br /&gt;
* [http://www.ticalc.org/archives/files/fileinfo/75/7588.html titranz] : commandline tool, only works for TI-83/TI-83+&lt;br /&gt;
&lt;br /&gt;
= FreeBSD =&lt;br /&gt;
Much of the aforementioned software should compile independently without problem or with minor tweaking under FreeBSD, but it is best to utilize the ports collection whenever possible. Unfortunately, the current state of calculator-related software in the FreeBSD Ports Collection is lacking in variety.&lt;br /&gt;
&lt;br /&gt;
* Development&lt;br /&gt;
{| width=&amp;quot;75%&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot;&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
!Port !! Current Version !! Location&lt;br /&gt;
|-&lt;br /&gt;
|tpasm || 1.2_1 || devel/tpasm&lt;br /&gt;
|-&lt;br /&gt;
|z80asm || 1.6_1 || devel/z80asm&lt;br /&gt;
|-&lt;br /&gt;
|z80-asm || 0.1_1 || devel/z80-asm&lt;br /&gt;
|-&lt;br /&gt;
|TI-GCC || 0.96.b8 || devel/tigcc&lt;br /&gt;
|-&lt;br /&gt;
|libtifiles2 || 1.0.1 || devel/libtifiles2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Communications&lt;br /&gt;
{| width=&amp;quot;75%&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot;&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
!Port !! Current Version !! Location&lt;br /&gt;
|-&lt;br /&gt;
|TiLP-II || 1.01 || comms/tilp2&lt;br /&gt;
|-&lt;br /&gt;
|libticables2 || 1.0.2 || comms/libticables2&lt;br /&gt;
|-&lt;br /&gt;
|libticalcs2 || 1.0.1 || comms/libticalcs2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Converters&lt;br /&gt;
{| width=&amp;quot;75%&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot;&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
!Port !! Current Version !! Location&lt;br /&gt;
|-&lt;br /&gt;
|libticonv || 1.0.0 || converters/libticonv&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Emulation&lt;br /&gt;
{| width=&amp;quot;75%&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot;&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
!Port !! Current Version !! Location&lt;br /&gt;
|-&lt;br /&gt;
| TIEmu 2 || 2.08 || emulators/tiemu2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
(Note that all of these assesments were made on a MacBook running 10.4.9 Intel. Mileage may vary on other versions and of course the Darwine stuff won't work on PPC.)&lt;br /&gt;
&lt;br /&gt;
TiLP-II is known to compile and work properly with SilverLink and Direct USB cables with the 83+, 84+SE, and 89Ti, so there is no reason to believe it will not work with the other calculators. TI Connect X works well enough on Intel Macs even though it is not officially supported, however it seems to be more strict with the format of .8xk files than TiLP or TI Connect (Windows).&lt;br /&gt;
&lt;br /&gt;
Brass works in Mono. Wabbitspasm compiles and works properly. ZDS works in Darwine.&lt;br /&gt;
&lt;br /&gt;
TilEm compiles but seems to have some issues with multiple ROM versions. It is unclear to me if this is a problem with the build or TilEm itself. PindurTI is somewhat usable in Darwine: You must use the send.exe utility to send the ROM image, then it will emulate properly. However, it makes extensive use of the F-keys, including the ExposÃ© ones. Remapping the ExposÃ© keys is the only solution. TI FLASH Debugger runs in Darwine but the calculator windows are unskinned: You must either use the keyboard or click blindly in the window. The display output is fine, and other debugger windows appear to function properly. VirtualTI (2.5) should run OK after putting the ROM files somewhere Darwine knows about (I was lazy).&lt;br /&gt;
&lt;br /&gt;
= Other Unixes =&lt;br /&gt;
&amp;lt;!--Replace with specific distributions as appropriate --&amp;gt;&lt;br /&gt;
This section is a stub. Please add it it.&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:TIOS_Alternatives</id>
		<title>83Plus:OS:TIOS Alternatives</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:TIOS_Alternatives"/>
				<updated>2011-11-24T06:53:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Added GlaßOS to the list, finally&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:OS_Information|TIOS Alternatives]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The TIOS is the official, standard operating system for the&lt;br /&gt;
TI-83+ series of calculators (including the TI-83+ and TI-84+ and the respective Silver&lt;br /&gt;
Editions of each).  The vast majority of programs for such calculators run on top of the&lt;br /&gt;
TIOS, or on top of some subsidiary program that runs from the TIOS, and thereby implicitly&lt;br /&gt;
depend on its functionality.  However, some people have researched writing alternative&lt;br /&gt;
operating system code and sending it to the calculator to replace the TIOS.&lt;br /&gt;
Several such alternative operating systems are available on the Web, though most of them are&lt;br /&gt;
not yet at a production stage of development.&lt;br /&gt;
&lt;br /&gt;
== List of alternative operating systems ==&lt;br /&gt;
&lt;br /&gt;
*[http://michaelv.org/programs/calcs/ceptic.php CEPTIC], by Michael Vincent: a Control and Execute Program for TI Calculators.  The current version of CEPTIC only runs on the TI-83+ SE, but can be modified to run on the TI-83+.  Assembly source is available, but actually using the OS in its present state is considered non-practical, and the project has been discontinued for various reasons.&lt;br /&gt;
*[http://pongos.sourceforge.net/ PongOS], by FloppusMaximus: a simple, proof-of-concept system whose namesake feature is an embedded Pong game.  Some other system utilities, mostly inspired by Dan Englender's Calcsys, are also available in PongOS, including a hex editor, memory mover (with flash capability), flash sector eraser, and port monitor.  Link support is not provided.&lt;br /&gt;
*[[Vera]], by several members of different programming groups: dubbed the &amp;quot;true calc lover's OS&amp;quot;. Vera is intended to consist of a very basic kernel which can be easily extended to include desired features. The original Vera project has been abandoned, but it has been picked up again in a different form, and seems to be progressing nicely.&lt;br /&gt;
*[http://www.ticalc.org/archives/files/fileinfo/349/34973.html CSX], by Sean McLaughlin: a command-line-based operating system with a screen layout similar to that of the TI-89 calculators.  CSX provides a simple filesystem, send and receive of files over a link cable, hex editing of memory, and running of Z80 machine code programs.&lt;br /&gt;
*[http://forum.reaktix.com/viewtopic.php?pid=11 Nostalgy], originally by [http://katpro.xiondigital.net/ XDG Kat-Productions], now developed by [http://reaktix.com/ Reaktix Software]: an unofficial project started by XDG Kat-Productions, abandoned when the two main developers became involved in other projects, and later resumed by [[User:Saibot84|Saibot84]]. A pre-alpha working demo is available. Development is still underway, albeit extremely slowly. It currently features a task-switching environment inspired by [http://www.radicalsoft.org/ Radical Software's] TSE, although linking and a file system are not yet implemented.&lt;br /&gt;
*[http://lifos.sourceforge.net/ LIFOS], by Peter Marheine: a similar project to Vera, designed to offer minimal functionality (linking, memory management, and machine code execution) in its basic incarnation but meant to be easily extended into a near-seamless infrastructure of various functions.  Currently (5-28-07) in early alpha stages.  The name comes from the memory allocation system (LIFO OS, or LIFOs).&lt;br /&gt;
*[http://www.ticalc.org/archives/files/fileinfo/398/39863.html BAOS], by Erik van 't Wout: Basic Assembly Operating System. (excerpt from the ReadMe:) Being developed &amp;quot;to be a real Operating System for TI-83+ based calculators. It should turn your calculator into a real computer, which can be used for mathematical purposes, but not as main target. Additional functionality should be easy to implement trough the use of libraries.&amp;quot;&lt;br /&gt;
*[http://www.brandonw.net/calcstuff/OS2 OS2], by Brandon Wilson: OS2 is &amp;quot;the TI-OS done right&amp;quot;, a from-the-ground-up re-implementation of the TI-OS, designed to do everything the TI-OS can do and run everything it can, but with fewer restrictions and changes not normally possible due to the TI-OS' structure, such as being able to run BASIC programs directly from the archive. It also supports dual-booting with the TI-OS so a user can continue to use the original TI-OS while more and more is added to OS2. Currently only dual-booting and a basic system monitor are supported.&lt;br /&gt;
*[http://code.google.com/p/8xpos/ XOS] by Luc Bruant aka fullmetalcoder, XOS main targets are SE calcs (those with 128kb of RAM). It aims to provide a lot of power to application developer, larger storage capacity whenever possible and a minimal emulation layer to ensure a certain level of backward compatibility of TIOS programs and Apps so as to ease the transition for users.&lt;br /&gt;
*[[83Plus:Software:KnightOS|KnightOS]] by SirCmpwn:  a completely different OS designed loosely around Linux.  KnightOS has no compatibility with the TIOS and completely clobbers the TIOS's filesystems.  KnightOS uses its own filesystem, KFS, which uses the ROM for storage and uses RAM entirely for program execution and the heap/stack.  The kernel, KnightKernel, also has thread support.  However, KnightOS has not been released.   It is still under development.&lt;br /&gt;
*[http://sf.net/projects/glassos GlaßOS], by AHelper, is an OS written for the TI84PSE in C.  It features a working USB driver; system-provided libc commands provided by sdcclib, such as floating point math, printf and friends, and others; GUI, graphics, and grayscale libraries; and more: all written either completely or mostly in C.  Because of a radical approach, the OS provides no support for TIOS and is simple a core OS with no stand-alone functionality (packaged programs can be installed).  The source of GlaßOS has been released and is stable to run on a calc. A final release date is pending.&lt;br /&gt;
&lt;br /&gt;
[[Category:83Plus:OS_Information|TIOS Alternatives]]&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Ahelper</id>
		<title>User:Ahelper</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Ahelper"/>
				<updated>2011-11-24T06:33:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Rewrite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My entire z80 calc programming revolves around GlaßOS. This is a WIP&lt;br /&gt;
&lt;br /&gt;
== GlaßOS ==&lt;br /&gt;
GlaßOS is a new operating system for the TI84PSE calcs, with and without extra RAM, that lets developers use C to quickly create programs and get results quickly from a friendly, high-level language.  The OS is &amp;gt;95% C with the rest inline assembly.  The OS is meant to be a kernel with C libraries that provides a C environment.  This means, however, that it isn't completely assembly-friendly.  &lt;br /&gt;
=== History ===&lt;br /&gt;
Too boring to write right now.&lt;br /&gt;
=== Friends ===&lt;br /&gt;
* glassKILL&lt;br /&gt;
* Islands&lt;br /&gt;
* gCAS2&lt;br /&gt;
* libgcas2&lt;br /&gt;
* launcher&lt;br /&gt;
* gFiler&lt;br /&gt;
* glassChat - Must be rewritten due to major USB API changes&lt;br /&gt;
=== Developing for GlaßOS ===&lt;br /&gt;
Writing programs for GlaßOS requires the use of the GlaßOS SDK, which provides information about supported svn revisions of SDCC, code examples, OS notes, and needed headers and libraries.  Programs that are ready for public distribution will use a web tool to add the software to a repo that will be available to all OS users.  &lt;br /&gt;
=== Notes ===&lt;br /&gt;
All hail Linky, letting me keep my assembly usage under 5%.&lt;br /&gt;
&lt;br /&gt;
== glassKILL ==&lt;br /&gt;
== glassChat ==&lt;br /&gt;
== gFiler ==&lt;br /&gt;
== gCAS2 ==&lt;br /&gt;
== libgcas2 ==&lt;br /&gt;
== launcher ==&lt;br /&gt;
== Islands ==&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/FAQ</id>
		<title>83Plus:Software:usb8x/FAQ</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/FAQ"/>
				<updated>2011-11-24T06:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Touchups and mentioned Linky&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a question not answered here, please feel free to ask it on the [[Talk:83Plus:Software:usb8x/FAQ|Discussion Page]].&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
=== With which calculators is usb8x compatible? ===&lt;br /&gt;
usb8x is compatible with the TI-84 Plus and TI-84 Plus Silver Edition calculators.  It appears to work best with calculators that have Boot Code 1.02.  We're working on improving compatibility with Boot Code 1.00.  '''usb8x is NOT compatible with the 89 Titanium''', but there is an app for the 89 Titanium, Linky, that reimplements the USB driver.&lt;br /&gt;
&lt;br /&gt;
=== With which USB devices is usb8x compatible? ===&lt;br /&gt;
Please check the [[83Plus:Software:usb8x/Supported Devices|Supported Devices]] page for details on device compatibility.&lt;br /&gt;
&lt;br /&gt;
=== How do I connect USB devices to my calculator? ===&lt;br /&gt;
The TI-84 calculators have a mini-USB port.  This means you can connect devices that have a mini-A plug, such as [http://www.vernier.com/easy/easytemp.html Vernier EasyTemp], directly.  To connect devices with a standard A or B USB plug (i.e. almost all other USB peripherals), you need to buy an adapter.  The [http://www.goldxproducts.com/showproduct.asp?pid=GXQU GoldX Quick Connect] adapter cable is available in many stores, and this [https://serialio.com//store/product_info.php?cPath=54_61&amp;amp;products_id=141 SERIALiO cable] will also work.&lt;br /&gt;
&lt;br /&gt;
=== How do I use usb8x? ===&lt;br /&gt;
usb8x is a driver and doesn't let you &amp;quot;do&amp;quot; anything by itself.  You need to download (or [[#Developer_Questions|create]]) a program that uses usb8x, such as [[83Plus:Software:msd8x|msd8x]] or [[83Plus:Software:USBTools|USBTools]].&lt;br /&gt;
&lt;br /&gt;
== Developer Questions ==&lt;br /&gt;
=== How do I use usb8x from a BASIC program? ===&lt;br /&gt;
usb8x can be accessed from BASIC via the OpenLib( and ExecLib commands.  See the usb8x [[83Plus:Software:usb8x/BASIC_Interface|BASIC Documentation]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== How do I use usb8x from an assembly program? ===&lt;br /&gt;
usb8x can be accessed from RAM programs or applications via the U_CALL macro interface.  See the usb8x [[83Plus:Software:usb8x/Asm_Interface|Assembly Documentation]] for more information.&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Stuff</id>
		<title>83Plus:Software:USBTools/Stuff</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Stuff"/>
				<updated>2011-11-24T06:08:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Even the back button didn't work -_-&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stuff is meant to implement usb8x driver integration into TIOS.  Unfortunately it hasn't been coded yet, so nothing on this menu works, except for the Back button.&lt;br /&gt;
&lt;br /&gt;
 Stuff&lt;br /&gt;
 1) KBD Action&lt;br /&gt;
 2) Mouse Action&lt;br /&gt;
 3) [[83Plus:Software:USBTools|Back]]&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Tools</id>
		<title>83Plus:Software:USBTools/Tools</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Tools"/>
				<updated>2011-11-24T06:07:57Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The tools menu contains tools (hopefully) useful for the usb8x developer.&lt;br /&gt;
&lt;br /&gt;
 Tools&lt;br /&gt;
 1) [[#Descriptors|Descriptors]]&lt;br /&gt;
 2) [[#Log_Viewer|Log Viewer]]&lt;br /&gt;
 3) [[#Start_Log|Start Log]]&lt;br /&gt;
 4) [[83Plus:Software:USBTools|Back]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Descriptors ==&lt;br /&gt;
The descriptors tool allows you to read device, configuration, and string descriptors from an attached device.  The descriptors are parsed for human readability.  The descriptors tool can be used to test device compatibility with usb8x, to find the vendor and device IDs for a peripheral, or to determine configuration information for use with a manual setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The config descriptor tool reads/displays all descriptors that are part of the extended configuration descriptor, which includes: config, interface, endpoint, HID, and OTG.  Not all of these descriptors will necessarily be present on all devices.  The string descriptor tool requests the string number to fetch and will return an error if that string does not exist on the device.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Descriptors&lt;br /&gt;
 1) Device&lt;br /&gt;
 2) Config&lt;br /&gt;
 3) String&lt;br /&gt;
 4) Back&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Log Viewer ==&lt;br /&gt;
The log viewer parses and displays usb8x log data that has been saved by a program using [[83Plus:Software:usb8x/Asm_Interface/SetupLog|SetupLog]] or via the [[#Start_Log|Start Log]] tool in USBTools.&lt;br /&gt;
&lt;br /&gt;
The log viewer will prompt for the page and address of the log, and if log data is present it will display log entries.  Use UP/DOWN to scroll through the log display, and use ENTER to view detailed information on Data log entries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Start Log ==&lt;br /&gt;
Start log begins logging immediately at the specified page and address.  This can be used to log and debug any errors that occur within USBTools while using the [[#Descriptors|descriptors tool]] or any of the [[83Plus:Software:USBTools/Demos|demos]].&lt;br /&gt;
&lt;br /&gt;
Note that logging must be enabled in the usb8x binary for this tool to have any effect.  You can check if logging is enabled via the USBTools [[83Plus:Software:USBTools/About|about screen]].&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Tools</id>
		<title>83Plus:Software:USBTools/Tools</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Tools"/>
				<updated>2011-11-24T06:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Touchups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The tools menu contains tools (hopefully) useful for the usb8x developer.&lt;br /&gt;
&lt;br /&gt;
 Tools&lt;br /&gt;
 1) [[#Descriptors|Descriptors]]&lt;br /&gt;
 2) [[#Log_Viewer|Log Viewer]]&lt;br /&gt;
 3) [[#Start_Log|Start Log]]&lt;br /&gt;
 4) [[83Plus:Software:USBTools/|Back]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Descriptors ==&lt;br /&gt;
The descriptors tool allows you to read device, configuration, and string descriptors from an attached device.  The descriptors are parsed for human readability.  The descriptors tool can be used to test device compatibility with usb8x, to find the vendor and device IDs for a peripheral, or to determine configuration information for use with a manual setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The config descriptor tool reads/displays all descriptors that are part of the extended configuration descriptor, which includes: config, interface, endpoint, HID, and OTG.  Not all of these descriptors will necessarily be present on all devices.  The string descriptor tool requests the string number to fetch and will return an error if that string does not exist on the device.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Descriptors&lt;br /&gt;
 1) Device&lt;br /&gt;
 2) Config&lt;br /&gt;
 3) String&lt;br /&gt;
 4) Back&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Log Viewer ==&lt;br /&gt;
The log viewer parses and displays usb8x log data that has been saved by a program using [[83Plus:Software:usb8x/Asm_Interface/SetupLog|SetupLog]] or via the [[#Start_Log|Start Log]] tool in USBTools.&lt;br /&gt;
&lt;br /&gt;
The log viewer will prompt for the page and address of the log, and if log data is present it will display log entries.  Use UP/DOWN to scroll through the log display, and use ENTER to view detailed information on Data log entries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Start Log ==&lt;br /&gt;
Start log begins logging immediately at the specified page and address.  This can be used to log and debug any errors that occur within USBTools while using the [[#Descriptors|descriptors tool]] or any of the [[83Plus:Software:USBTools/Demos|demos]].&lt;br /&gt;
&lt;br /&gt;
Note that logging must be enabled in the usb8x binary for this tool to have any effect.  You can check if logging is enabled via the USBTools [[83Plus:Software:USBTools/About|about screen]].&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Demos</id>
		<title>83Plus:Software:USBTools/Demos</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Demos"/>
				<updated>2011-11-24T06:06:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Touchups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
The demos menu lists demos for various USB devices.  These demos can be used to test the compatibility of specific USB peripherals with usb8x.&lt;br /&gt;
 Demos&lt;br /&gt;
 1) [[#Mouse_Demo|Mouse Demo]]&lt;br /&gt;
 2) [[#KBD_Demo|KBD Demo]]&lt;br /&gt;
 3) [[#Gamepad_Demo|Gamepad Demo]]&lt;br /&gt;
 4) [[#MSD_Demo|MSD Demo]]&lt;br /&gt;
 5) [[#Silver_Demo|Silver Demo]]&lt;br /&gt;
 6) [[83Plus:Software:USBTools|Back]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mouse Demo ==&lt;br /&gt;
The mouse demo tests usb8x's [[83Plus:Software:usb8x/Asm_Interface/Mouse|mouse driver]].  Connect a mouse to the USB port, run the demo, and you should see a mouse cursor in the middle of the screen.  Moving the mouse around should move the cursor, and pressing a mouse button should change the cursor graphic.  Press the CLEAR button to quit the demo.  Warning: the demo doesn't do bounds checking on the edge of the screen.  Moving the cursor off the edge of the screen may crash your calculator!&lt;br /&gt;
&lt;br /&gt;
The mouse demo is replicated in the usb8x [[83Plus:Software:usb8x/Sample_Code#Mouse_Demo_2|sample code]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KBD Demo ==&lt;br /&gt;
The kbd demo tests usb8x's [[83Plus:Software:usb8x/Asm_Interface/KBD|keyboard driver]].  Connect a keyboard to the USB port, run the demo, and start typing on the keyboard.  The keys you type should be echoed on the calculator's screen.  Pressing Caps Lock and Num Lock should light the appropriate LEDs on the keyboard and affect the key output accordingly.  Press CLEAR on the calculator's keypad, or Esc on the keyboard to quit the demo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gamepad Demo ==&lt;br /&gt;
The gamepad demo tests usb8x's [[83Plus:Software:usb8x/Asm_Interface/Pad|gamepad driver]].  The demo is the same as the mouse demo, but the cursor is controlled by a gamepad instead of a mouse.  When you start the gamepad demo, you will be prompted to press Down, Up, Left, Right, and Fire on your gamepad to set the button mappings.  Then the mouse cursor will appear on the screen and can be controlled by the buttons you mapped earlier.  Note that not all gamepads may be compatible with the &lt;br /&gt;
driver.  Please see the list of [[83Plus:Software:usb8x/Supported_Devices|supported devices]] for gamepads that have been tested to work with usb8x.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MSD Demo ==&lt;br /&gt;
There is currently no MSD demo in USBTools.  Use [[83Plus:Software:msd8x|msd8x]] to test the [[83Plus:Software:usb8x/Asm_Interface/MSD|mass storage driver]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Silver Demo ==&lt;br /&gt;
The silver demo tests usb8x's [[83Plus:Software:usb8x/Asm_Interface/Silver|silverlink driver]], which allows you to use the silver TI-Graphlink to communicate to another calculator via usb8x.  In the demo, however, the calculator communicates with itself.  Plug in the silverlink to the USB port, and then connect the serial end of the silverlink to the calculator's serial I/O port.  When you run the demo, the calculator will transmit data for a few seconds, and then display the throughput, in bytes per second, of data transmitted.&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Tools</id>
		<title>83Plus:Software:USBTools/Tools</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:USBTools/Tools"/>
				<updated>2011-11-24T06:04:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Touchups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The tools menu contains tools (hopefully) useful for the usb8x developer.&lt;br /&gt;
&lt;br /&gt;
 Tools&lt;br /&gt;
 1) [[#Descriptors|Descriptors]]&lt;br /&gt;
 2) [[#Log_Viewer|Log Viewer]]&lt;br /&gt;
 3) [[#Start_Log|Start Log]]&lt;br /&gt;
 4) [[../|Back]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Descriptors ==&lt;br /&gt;
The descriptors tool allows you to read device, configuration, and string descriptors from an attached device.  The descriptors are parsed for human readability.  The descriptors tool can be used to test device compatibility with usb8x, to find the vendor and device IDs for a peripheral, or to determine configuration information for use with a manual setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The config descriptor tool reads/displays all descriptors that are part of the extended configuration descriptor, which includes: config, interface, endpoint, HID, and OTG.  Not all of these descriptors will necessarily be present on all devices.  The string descriptor tool requests the string number to fetch and will return an error if that string does not exist on the device.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Descriptors&lt;br /&gt;
 1) Device&lt;br /&gt;
 2) Config&lt;br /&gt;
 3) String&lt;br /&gt;
 4) Back&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Log Viewer ==&lt;br /&gt;
The log viewer parses and displays usb8x log data that has been saved by a program using [[83Plus:Software:usb8x/Asm_Interface/SetupLog|SetupLog]] or via the [[#Start_Log|Start Log]] tool in USBTools.&lt;br /&gt;
&lt;br /&gt;
The log viewer will prompt for the page and address of the log, and if log data is present it will display log entries.  Use UP/DOWN to scroll through the log display, and use ENTER to view detailed information on Data log entries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Start Log ==&lt;br /&gt;
Start log begins logging immediately at the specified page and address.  This can be used to log and debug any errors that occur within USBTools while using the [[#Descriptors|descriptors tool]] or any of the [[83Plus:Software:USBTools/Demos|demos]].&lt;br /&gt;
&lt;br /&gt;
Note that logging must be enabled in the usb8x binary for this tool to have any effect.  You can check if logging is enabled via the USBTools [[83Plus:Software:USBTools/About|about screen]].&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:02</id>
		<title>83Plus:Ports:02</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:02"/>
				<updated>2011-10-31T16:06:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Typo - port 04 displayed port 02&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:Ports:By Address|02 - Status Port]] [[Category:83Plus:Ports:By Name|Status Port]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
'''Port Number:''' 02h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Calculator Status Information&lt;br /&gt;
&lt;br /&gt;
This port reports various status information, including battery strength, LCD driver status, and calculator type.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0: Set if the batteries are good. Reset if the batteries are low. The calculator will refuse to Garbage Collect or receive a FLASH App or OS when the batteries are low. The voltage cutoff can be configured in [[83Plus:Ports:04|port 04]].&lt;br /&gt;
* '''83+SE / 84+(SE) only:''' Bit 1: At 15MHz this bit resets for a set delay after a command or data is sent to the LCD, otherwise this bit is always set. The amount of delay is controlled by [[83Plus:Ports:2F|port 2F]]. On the TI-73, this bit is always reset (this is how you distinguish between the 73 and 83+ series hardware).&lt;br /&gt;
* Bit 2: Set if Flash is currently unlocked.&lt;br /&gt;
* '''83+ only:''' Bits 3-5:&lt;br /&gt;
** Bit 3: Last value written to port 05 bit 0&lt;br /&gt;
** Bit 4: Last value written to port 05 bit 1&lt;br /&gt;
** Bit 5: Last value written to port 05 bit 2&lt;br /&gt;
* '''84+(SE) only:''' Bit 5: Set for TI-84+ and TI-84+ SE calculators. Reset for TI-83+ and TI-83+ SE calculators.&lt;br /&gt;
* Bit 7: Reset for a TI-83+ Basic. Set for everything else.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* No useful effect.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
See [[83Plus:Ports:21|Port 21h]] for how to distinguish the 84+ Basic from the 84+ SE.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Battery checking ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; push af&lt;br /&gt;
 in a, (2)&lt;br /&gt;
 and 01h&lt;br /&gt;
 call nz, BatteriesGood&lt;br /&gt;
 call z, BatteriesLow&lt;br /&gt;
 pop af&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LCD Testing ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; push af&lt;br /&gt;
WaitLoop:&lt;br /&gt;
 in a, (2)&lt;br /&gt;
 and 02h&lt;br /&gt;
 jr z, WaitLoop&lt;br /&gt;
 ;Send a command, like 03 (LCD &amp;quot;On&amp;quot;).&lt;br /&gt;
 call LCDIsReady&lt;br /&gt;
 pop af&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Device checking ===&lt;br /&gt;
&lt;br /&gt;
''This example also uses [[83Plus:Ports:21|Port 21h]].''&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; in a, (2)&lt;br /&gt;
 rlca ;Roll bit 7 into carry.&lt;br /&gt;
 jp nc, Regular83Plus&lt;br /&gt;
 and 40h ;Test bit 5, now rotated into bit 6.&lt;br /&gt;
 jp z, Silver83Plus&lt;br /&gt;
 in a, (21h)&lt;br /&gt;
 and 03h&lt;br /&gt;
 jp z, Regular84Plus&lt;br /&gt;
 jp nz, Silver84Plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Credits and Contributions ==&lt;br /&gt;
* '''Michael Vincent''': Documentation of port 2 located [http://www.michaelv.org/programs/calcs/ports/port2.html here].&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Notable_programs</id>
		<title>Notable programs</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Notable_programs"/>
				<updated>2011-07-28T04:01:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: /* Utilities */ Adding Linky - above older USB libs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
Here is a list of notable programs released by the TI Z80 community.&lt;br /&gt;
If you think a program has been forgotten, just add it.&lt;br /&gt;
&lt;br /&gt;
For each program, please indicate: author, last version and release date, ticalc.org (or other if not available) URL, 1 or 2 screenshots, and a few words about it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
&lt;br /&gt;
==Puzzle==&lt;br /&gt;
* Ztris 1.3.2 ~ by Tijl Coosemans ~ http://www.ticalc.org/archives/files/fileinfo/207/20791.html&lt;br /&gt;
* Crates3D 1.1 ~ by Badja ~ http://www.ticalc.org/archives/files/fileinfo/192/19293.html&lt;br /&gt;
* Orzunoid ~ by Patrick Davidson ~ http://www.ticalc.org/archives/files/fileinfo/110/11033.html&lt;br /&gt;
&lt;br /&gt;
==Action==&lt;br /&gt;
* Acelgoyobis ~ by CoBB ~ http://www.ticalc.org/archives/files/fileinfo/355/35586.html&lt;br /&gt;
* Bubble Bobble ~ Dan &amp;quot;dwedit&amp;quot; Weiss ~ http://www.ticalc.org/archives/files/fileinfo/235/23536.html&lt;br /&gt;
* Invaded ~ by James Vernon ~ http://www.ticalc.org/archives/files/fileinfo/206/20692.html&lt;br /&gt;
&lt;br /&gt;
==Adventure or RPG==&lt;br /&gt;
* Desolate ~ tr1p1ea ~ http://www.ticalc.org/archives/files/fileinfo/348/34879.html&lt;br /&gt;
&lt;br /&gt;
==Racing==&lt;br /&gt;
* Tiny Carz ~ Léo Ducas ~ http://www.ticalc.org/archives/files/fileinfo/391/39185.html&lt;br /&gt;
&lt;br /&gt;
==First person shooter==&lt;br /&gt;
* Gemini ~ Hans &amp;quot;Coelurus&amp;quot; Törnqvist ~ http://www.ticalc.org/archives/files/fileinfo/247/24743.html&lt;br /&gt;
* Wolfenstein83 ~ Peter Bucher ~ http://www.ticalc.org/archives/files/fileinfo/277/27767.html&lt;br /&gt;
* zDoom 0.12 ~ http://www.ticalc.org/archives/files/fileinfo/360/36062.html&lt;br /&gt;
&lt;br /&gt;
==Platform==&lt;br /&gt;
* sqrxz ~ by Jimmy Mardell ~ http://www.ticalc.org/archives/files/fileinfo/144/14494.html&lt;br /&gt;
* Super Mario 1.2 ~ Sam Heald ~ http://www.ticalc.org/archives/files/fileinfo/192/19225.html&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* TI-Boy v0.1.04 ~ Brendan Fletcher ~ http://www.omnimaga.org/index.php?topic=7880.msg157069#msg157069&lt;br /&gt;
&lt;br /&gt;
=Shells=&lt;br /&gt;
* Doors CS ~ Christopher &amp;quot;Kerm Martian&amp;quot; Mitchell ~ http://www.ticalc.org/archives/files/fileinfo/430/43068.html&lt;br /&gt;
* Ion ~ Joe Wingbermuehle ~ http://www.ticalc.org/archives/files/fileinfo/130/13059.html&lt;br /&gt;
* MirageOS ~ Dan Englender | Jason Kovacs ~ http://www.ticalc.org/archives/files/fileinfo/139/13949.html&lt;br /&gt;
&lt;br /&gt;
=Utilities=&lt;br /&gt;
* Emu8x v1.00 ~ Michael Vincent ~ http://www.ticalc.org/archives/files/fileinfo/377/37796.html&lt;br /&gt;
* Omnicalc ~ Michael Vincent ~ http://www.ticalc.org/archives/files/fileinfo/226/22626.html&lt;br /&gt;
* Linky ~ Brandon Wilson ~ http://brandonw.net/svn/calcstuff/Linky/&lt;br /&gt;
* USB8X ~ Dan Englender ~ http://sourceforge.net/projects/usb8x/files/&lt;br /&gt;
* MSD8X ~ Michael Vincent | Brandon Wilson ~ http://www.ticalc.org/archives/files/fileinfo/390/39064.html&lt;br /&gt;
* Real Sound v1.0 ~ James Montelongo ~ http://www.ticalc.org/archives/files/fileinfo/385/38513.html&lt;br /&gt;
* Axe Parser ~ Kevin Horowitz ~ http://www.ticalc.org/archives/files/fileinfo/428/42813.html&lt;br /&gt;
* Calcsys ~ Dan Englender ~ http://www.ticalc.org/archives/files/fileinfo/97/9781.html&lt;br /&gt;
* ALCDFIX ~ James Montelongo ~ http://www.ticalc.org/archives/files/fileinfo/366/36608.html&lt;br /&gt;
* Rom8x ~ Andree Chea ~ http://www.ticalc.org/archives/files/fileinfo/373/37341.html&lt;br /&gt;
&lt;br /&gt;
=School (Math and others)=&lt;br /&gt;
* Symbolic ~ Brandon Sterner ~ http://www.ticalc.org/archives/files/fileinfo/228/22851.html&lt;br /&gt;
* Omnicalc ~ Michael Vincent ~ http://www.ticalc.org/archives/files/fileinfo/226/22626.html&lt;br /&gt;
* Graph3D&lt;br /&gt;
* ZoomAlgebra (shareware) ~ Jeff Hatch ~ http://www.zoommath.com/Products/&lt;br /&gt;
* Cabamap v1.02 ~ Michael Vincent ~ http://www.ticalc.org/archives/files/fileinfo/323/32326.html&lt;br /&gt;
* DAWG v1.0 ~ Kirk Meyer ~ http://www.ticalc.org/archives/files/fileinfo/258/25844.html&lt;br /&gt;
&lt;br /&gt;
=External links=&lt;br /&gt;
* Ticalc.org's Program Of The Year : [http://www.ticalc.org/community/awards/poty/2003.html 2003] [http://www.ticalc.org/community/awards/poty/2004.html 2004] [http://www.ticalc.org/community/awards/poty/2005.html 2005] [http://www.ticalc.org/community/awards/poty/2006.html 2006] [http://www.ticalc.org/community/awards/poty/2007.html 2007] [http://www.ticalc.org/community/awards/poty/2008.html 2008] [http://www.ticalc.org/community/awards/poty/2009.html 2009]&lt;br /&gt;
* [http://wikiti.brandonw.net/index.php?title=83Plus:OS:TIOS_Alternatives TIOS alternatives]&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Ahelper</id>
		<title>User:Ahelper</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Ahelper"/>
				<updated>2011-02-20T20:57:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Updated some stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oh dear, where do I start?&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
Well, I have two...&lt;br /&gt;
=== TIKill ===&lt;br /&gt;
A very simple game for 68k.  It's a simple clone of Gnome Robots in text mode.  I haven't released it, but I can do so under GPLv3.&lt;br /&gt;
=== GlassOS (and friends) ===&lt;br /&gt;
A complete replacement OS for specific ti-84pse with 8 RAM pages.  It is written as a core-core lib-lib layout... Most (&amp;gt;%) of the code is in C and compiles with SDCC.  Key features (already done and working):&lt;br /&gt;
* A system-wide GUI&lt;br /&gt;
* OS runs in high-speed and can change speeds when needed&lt;br /&gt;
* All programs can ''malloc'' to get around 14-15K of memory.&lt;br /&gt;
* IEEE floating point math libraries are included :-) Enjoy! They are BIG (32K for all math.h functions, along with printf)&lt;br /&gt;
* A standard way of calling user libraries to expand programs and break the 16K binary size.&lt;br /&gt;
* You call programs just like linux:  ./program parameters &amp;quot;can be passed&amp;quot;.  You access them just like normal with int argc and char** argv.&lt;br /&gt;
* USB communication using libusb (from Linky, yay)&lt;br /&gt;
* Task-switching (not multitasking) for up to 6 user programs, and 1 system task (Launcher)&lt;br /&gt;
&lt;br /&gt;
Features that '''will''' exist:&lt;br /&gt;
* A filesystem with little restrictions, such as:&lt;br /&gt;
** Unlimited filename length&lt;br /&gt;
** Folders with limitless depth&lt;br /&gt;
* a standard graphics library (maybe 3D)&lt;br /&gt;
* A way to prevent and recover from crashing (A Process manager that allow killing things, soft reset, or a reboot)&lt;br /&gt;
&lt;br /&gt;
The OS has been loaded onto a ti84+se and has run fine (when the code became stable).  The OS is not done yet, but will be soon, even though I haven't worked on the OS that long...&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Ahelper</id>
		<title>User:Ahelper</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Ahelper"/>
				<updated>2011-01-27T01:23:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ahelper: Initial Commit of page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oh dear, where do I start?&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
Well, I have two...&lt;br /&gt;
=== TIKill ===&lt;br /&gt;
A very simple game for 68k.  It's a simple clone of Gnome Robots in text mode.  I haven't released it, but I can do so under GPLv3.&lt;br /&gt;
=== GlassOS (and friends) ===&lt;br /&gt;
A complete replacement OS for specific ti-84pse with 8 RAM pages.  It is written as a core-core lib-lib layout... Most (&amp;gt;75%) of the code is in C and compiles with SDCC.  Key features:&lt;br /&gt;
* A system-wide GUI&lt;br /&gt;
* A filesystem with little restrictions, such as:&lt;br /&gt;
** Unlimited filename length&lt;br /&gt;
** Folders with limitless depth&lt;br /&gt;
* OS runs in high-speed and slows with GUI library&lt;br /&gt;
* All programs can ''malloc'' to get around 14-15K of memory.&lt;br /&gt;
* IEEE floating point math libraries are included :-) Enjoy! They are BIG (32K for all math.h functions, along with printf)&lt;br /&gt;
* A standard way of calling user libraries to expand programs and break the 16K binary size.&lt;br /&gt;
&lt;br /&gt;
Features that '''will''' exist:&lt;br /&gt;
* Multi-tasking with up to 4 user programs.&lt;br /&gt;
* Filesystem can compress files using libhuffman&lt;br /&gt;
* USB communication using libusb (from periph8x, yay)&lt;br /&gt;
* a standard graphics library (maybe 3D)&lt;br /&gt;
* A way to prevent and recover from crashing&lt;/div&gt;</summary>
		<author><name>Ahelper</name></author>	</entry>

	</feed>