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

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Slimey.limey</id>
		<title>User:Slimey.limey</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Slimey.limey"/>
				<updated>2018-11-10T21:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: beep boop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi.  I'm [http://www.ticalc.org/about/staff/astrids.html Astrid Smith].  I'm also &amp;lt;tt&amp;gt;chronomex&amp;lt;/tt&amp;gt; on IRC.&lt;br /&gt;
&lt;br /&gt;
I was working on 89 Titanium USB, a while ago.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</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>2011-09-05T01:26:42Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Added 68k info&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 very bloated and inefficient.&lt;br /&gt;
* '''z88dk''' is a derivative of SDCC.  It is targeted specifically at the z80 line of processors and even has dedicated TI file format outputs.  Again, the code is still very bloated, because the compiler is based on 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.  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>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Assemblers</id>
		<title>Assemblers</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Assemblers"/>
				<updated>2011-09-05T01:23:36Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Added some 68k info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:PC Software|Assemblers]]&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{wikify}}&lt;br /&gt;
&lt;br /&gt;
== Z80 Assemblers ==&lt;br /&gt;
&lt;br /&gt;
=== tasm ===&lt;br /&gt;
&lt;br /&gt;
* need ''' linker to TI-files'''&lt;br /&gt;
* command-line usage syntax&lt;br /&gt;
* features&lt;br /&gt;
* documents (included readme)&lt;br /&gt;
* warn it is shareware&lt;br /&gt;
&lt;br /&gt;
=== spasm ===&lt;br /&gt;
[http://wabbit.codeplex.com/releases/view/45088 SPASM2 stable build]&lt;br /&gt;
* command-line usage syntax&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* blazing fast assembling&lt;br /&gt;
* linking to all TI calculators&lt;br /&gt;
* powerful macros&lt;br /&gt;
* import bitmaps pictures (.bmp)&lt;br /&gt;
* TASM compatibility (TASM to spasm) (partial?)&lt;br /&gt;
&lt;br /&gt;
=== Brass ===&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* TASM compatibility (partial?)&lt;br /&gt;
* macros&lt;br /&gt;
&lt;br /&gt;
=== tpasm ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== phasm ===&lt;br /&gt;
&lt;br /&gt;
== 68k Assemblers ==&lt;br /&gt;
&lt;br /&gt;
=== A68k ===&lt;br /&gt;
&lt;br /&gt;
A68k is ancient and originally written for programming the Amiga.  It comes with TIGCC and GCC4TI.  Some in the 68k community continue to use it because they prefer its syntax, though the TIGCC and GCC4TI developers strongly encourage people to move to the GNU Assembler.&lt;br /&gt;
&lt;br /&gt;
=== GNU as ===&lt;br /&gt;
&lt;br /&gt;
This assembler ships with GCC4TI and TIGCC.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Disassemblers</id>
		<title>Disassemblers</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Disassemblers"/>
				<updated>2011-09-05T01:15:57Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: /* PC Community Disassemblers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
A disassembler is a computer program that translates machine language into assembly language — the inverse operation to that of an assembler. Source: [http://en.wikipedia.org/wiki/Disassembler wikipedia]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== z80 CPU ==&lt;br /&gt;
&lt;br /&gt;
=== PC Community Disassemblers ===&lt;br /&gt;
* http://www.ticalc.org/archives/files/fileinfo/162/16219.html&lt;br /&gt;
* http://www.ticalc.org/archives/files/fileinfo/349/34903.html&lt;br /&gt;
&lt;br /&gt;
=== Oncalc ===&lt;br /&gt;
* Calcsys: http://www.ticalc.org/archives/files/fileinfo/196/19619.html&lt;br /&gt;
&lt;br /&gt;
=== Freeware ===&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Software (paid) ===&lt;br /&gt;
* [http://www.hex-rays.com/idapro IDA Pro]&lt;br /&gt;
&lt;br /&gt;
== 68k ==&lt;br /&gt;
&lt;br /&gt;
=== PC Community Disassemblers ===&lt;br /&gt;
* dasm-tigcc&lt;br /&gt;
* GCC4TI/TIGCC GNU objdump&lt;br /&gt;
&lt;br /&gt;
=== Oncalc ===&lt;br /&gt;
* [http://detachedsolutions.com/cmdpost/ Command Post]&lt;br /&gt;
&lt;br /&gt;
=== Freeware ===&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Software (paid) ===&lt;br /&gt;
* [http://www.hex-rays.com/idapro IDA Pro]&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Disassemblers</id>
		<title>Disassemblers</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Disassemblers"/>
				<updated>2011-09-05T01:14:30Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Added 68k disassemblers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
A disassembler is a computer program that translates machine language into assembly language — the inverse operation to that of an assembler. Source: [http://en.wikipedia.org/wiki/Disassembler wikipedia]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== z80 CPU ==&lt;br /&gt;
&lt;br /&gt;
=== PC Community Disassemblers ===&lt;br /&gt;
* http://www.ticalc.org/archives/files/fileinfo/162/16219.html&lt;br /&gt;
* http://www.ticalc.org/archives/files/fileinfo/349/34903.html&lt;br /&gt;
&lt;br /&gt;
=== Oncalc ===&lt;br /&gt;
* Calcsys: http://www.ticalc.org/archives/files/fileinfo/196/19619.html&lt;br /&gt;
&lt;br /&gt;
=== Freeware ===&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Software (paid) ===&lt;br /&gt;
* [http://www.hex-rays.com/idapro IDA Pro]&lt;br /&gt;
&lt;br /&gt;
== 68k ==&lt;br /&gt;
&lt;br /&gt;
=== PC Community Disassemblers ===&lt;br /&gt;
* dasm-tigcc&lt;br /&gt;
* GNU objdump&lt;br /&gt;
&lt;br /&gt;
=== Oncalc ===&lt;br /&gt;
* [http://detachedsolutions.com/cmdpost/ Command Post]&lt;br /&gt;
&lt;br /&gt;
=== Freeware ===&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Software (paid) ===&lt;br /&gt;
* [http://www.hex-rays.com/idapro IDA Pro]&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Beginners</id>
		<title>Beginners</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Beginners"/>
				<updated>2011-09-05T00:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Prose tuning, style.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starting with assembly programming can be quite a pain. You need to find yourself an assembler, preferably a nice emulator, and lots of documentation. While this wiki provides you with a lot of documentation, and many [[TI websites|websites]] and [[:Category:Teams|teams]] can provide you with links to good tutorials, people keep asking the community how to get started. I hope this will answer their questions once and for all :)&lt;br /&gt;
&lt;br /&gt;
== Emulating ==&lt;br /&gt;
&lt;br /&gt;
=== Getting a ROM dump ===&lt;br /&gt;
&lt;br /&gt;
Getting a ROM dump is the essential first step of running a calculator emulator. Because the calculator operating system is intellectual property of Texas Instruments, it is illegal to distribute ROM images, but you can extract your own ROM image from your own calculator under &amp;quot;Fair use&amp;quot; copyright doctrine.&lt;br /&gt;
&lt;br /&gt;
To download your own ROM image from your calculator to your PC you need some software. Your options are:&lt;br /&gt;
* [http://www.ticalc.org/archives/files/fileinfo/373/37341.html Rom8x]&lt;br /&gt;
* Uhm... need to find some more ;)&lt;br /&gt;
&lt;br /&gt;
Ticalc.org has an [http://www.ticalc.org/programming/emulators/romdump.html excellent howto page on getting a ROM image]. Or, you could do a Google search on something like TI83.rom, and see what comes up.&lt;br /&gt;
&lt;br /&gt;
Of course, if you want to develop an operating system yourself (if you're working on [[Vera]] for example) you don't need a ROM image.&lt;br /&gt;
&lt;br /&gt;
=== Choice of Emulator ===&lt;br /&gt;
&lt;br /&gt;
The second step is selecting an [[:Category:Emulators|emulator]] that suits you:&lt;br /&gt;
&lt;br /&gt;
* [[:Emulators:Virtual TI|Virtual TI]] - Long time favourite, but mostly because it was the only one&lt;br /&gt;
* [[:Emulators:PindurTI|PindurTI]] - Very basic emulator with very good hardware emulation and animated screenshotting&lt;br /&gt;
* [[:Emulators:Wabbitemu|WabbitEmu]] - The newest breed, with a very nice GUI and a port to Mac, Linux is on the way&lt;br /&gt;
&lt;br /&gt;
There are a few more, but these are the most popular. Virtual TI's emulation is quite poor compared to the others, but the others are still under development. It's usually best to have a few around so that in case you run into something unexpected you can get a second opinion from another emulator.&lt;br /&gt;
&lt;br /&gt;
Please read the respective README's on how to get your ROM image running in these emulators.&lt;br /&gt;
&lt;br /&gt;
== Assembler ==&lt;br /&gt;
&lt;br /&gt;
An assembler -- sometimes referred to as &amp;quot;compiler&amp;quot;, though formally it is no such thing -- can assemble your source code into binaries for the Z80 processor that runs our calculators.&lt;br /&gt;
&lt;br /&gt;
=== Choice of assembler ===&lt;br /&gt;
&lt;br /&gt;
Once again, you'll have to make a choice. A few years ago, things were simple; there was TASM and nothing else, so you'd use TASM. These days we have TASM, Brass and Spasm (and probably a few others), all with subtle little differences and improvements, but the latter two are clearly superior to the old TASM. Brass is written in C# for .NET, and can run under Linux using Mono. Spasm was written in C, and will compile on most systems with the GNU toolchain.&lt;br /&gt;
&lt;br /&gt;
* Brass [http://kvince83.tengun.net/maxboard/viewforum.php?f=25 subforum], [http://benryves.com/bin/brass/ website] and [http://benryves.com/bin/brass/Brass.exe latest download]&lt;br /&gt;
* Spasm [http://www.revsoft.org/phpBB2/viewforum.php?f=21 subforum] and [http://www.group.revsoft.org/spasm.exe latest download]&lt;br /&gt;
&lt;br /&gt;
=== Assembling source to binaries ===&lt;br /&gt;
&lt;br /&gt;
The syntax for assembling input.asm to either output.8xp or output.83p is:&lt;br /&gt;
&lt;br /&gt;
 Brass.exe input.asm output.8?p&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 spasm input.asm output.8?p&lt;br /&gt;
&lt;br /&gt;
Both modern assemblers can output files in TI calculator specific formats, which TASM can not. Some versions of Spasm will do this automatically based on the output file extension, and in the case of Brass you can [http://benryves.com/bin/brass/directives/binarymode.htm specify] your output format in your source code:&lt;br /&gt;
&lt;br /&gt;
 .binarymode TI8X&lt;br /&gt;
&lt;br /&gt;
=== Include files ===&lt;br /&gt;
&lt;br /&gt;
Include files contain predefined memory locations, locations of TI-OS calls and macros to make your life easier. Strictly speaking you don't need any, but without them you'll have to type in every address by hand (and either memorize them or look them up each time).&lt;br /&gt;
&lt;br /&gt;
Depending on which calculator model and which shell you want to develop for (Ion, MirageOS, Venus, etc.), you'll need to get some include files. For the sake of demonstration (and because most other shells can run them) we'll be choosing Ion for now. Developing for Ion also has the advantage that your applications can be compiled for TI-83 and TI-83+ (and relatives) without changing the source. Go [http://www.ticalc.org/archives/files/fileinfo/130/13058.html here] and download the zip file, which contains ion.inc. You'll also need the shell itself for testing.&lt;br /&gt;
&lt;br /&gt;
=== Hello World ===&lt;br /&gt;
&lt;br /&gt;
Save this file as hello.asm in the same directory as your assembler, for ease of testing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#define TI83P   ; If you want to compile for TI-83+ family calcs&lt;br /&gt;
;#define TI83   ; If you want to compile for TI-83, don't uncomment both!&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ion.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; ====&lt;br /&gt;
; Start of Ion header&lt;br /&gt;
&lt;br /&gt;
#ifdef TI83P&lt;br /&gt;
    .binarymode TI8X   ; only required if you use Brass&lt;br /&gt;
    .org progstart-2&lt;br /&gt;
    .db $BB,$6D&lt;br /&gt;
#else&lt;br /&gt;
    .binarymode TI83   ; only required if you use Brass&lt;br /&gt;
    .org progstart&lt;br /&gt;
#endif&lt;br /&gt;
    ret&lt;br /&gt;
    jr nc,main&lt;br /&gt;
title:&lt;br /&gt;
   .db &amp;quot;Hello World Test&amp;quot;,0&lt;br /&gt;
&lt;br /&gt;
; End of Ion header&lt;br /&gt;
; ====&lt;br /&gt;
&lt;br /&gt;
main:&lt;br /&gt;
    ; Program execution starts here:&lt;br /&gt;
    bcall(_homeup)&lt;br /&gt;
    ld hl,string&lt;br /&gt;
    bcall(_puts)&lt;br /&gt;
    bcall(_getkey)&lt;br /&gt;
    ret&lt;br /&gt;
&lt;br /&gt;
string:&lt;br /&gt;
    .db &amp;quot;Hello world!&amp;quot;,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open a console, cd to your directory and issue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;your assembler&amp;gt; hello.asm hello.8xp&lt;br /&gt;
&lt;br /&gt;
Now load hello.8xp into your emulator and try to run it with Ion.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</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>2011-06-24T09:29:02Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: /* SPASM */ Woops, broke the display.&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;
* 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>Slimey.limey</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>2011-06-24T09:28:19Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: /* SPASM */ Fixed SPASM link, broken due to needless url changing.&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;
* 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]&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>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Slimey.limey</id>
		<title>User:Slimey.limey</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Slimey.limey"/>
				<updated>2009-01-31T03:28:15Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi.  I'm [http://www.ticalc.org/about/staff/duncans.html Duncan Smith].  I'm also &amp;lt;tt&amp;gt;chronomex&amp;lt;/tt&amp;gt; on IRC.&lt;br /&gt;
&lt;br /&gt;
I was working on 89 Titanium USB, a while ago.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Slimey.limey</id>
		<title>User:Slimey.limey</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Slimey.limey"/>
				<updated>2008-03-13T04:38:43Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Now it even points to the right place.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi.  I'm [http://www.ticalc.org/about/staff/duncans.html Duncan Smith].  I'm also chronomex on IRC.&lt;br /&gt;
&lt;br /&gt;
I'm working on 89 Titanium USB.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Slimey.limey</id>
		<title>User:Slimey.limey</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Slimey.limey"/>
				<updated>2008-03-13T04:37:43Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Fixed link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi.  I'm [http://www.ticalc.org/about/staff/duncans.shtml Duncan Smith].  I'm also chronomex on IRC.  I'm working on 89 Titanium USB.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:Slimey.limey</id>
		<title>User:Slimey.limey</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:Slimey.limey"/>
				<updated>2008-03-13T04:35:24Z</updated>
		
		<summary type="html">&lt;p&gt;Slimey.limey: Creation of user page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi.  I'm [Duncan Smith|http://www.ticalc.org/about/staff/duncans.shtml].  I'm also chronomex on IRC.  I'm working on 89 Titanium USB.&lt;/div&gt;</summary>
		<author><name>Slimey.limey</name></author>	</entry>

	</feed>