ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: File Archives :: TI-86 Assembly Routines
File Archives

TI-86 ASSEMBLY ROUTINES

Archive Statistics
Number of files 109
Last updated Wednesday, 16 May 2007
Total downloads 286,223
Most popular file  TI-86 Z80 Disassembler with 6,744 downloads.

Click a filename to download that file.Click a folder name to view files in that folder.Click  for file information.

Icon legend: File with screen shots File with animated screen shots File with reviews Featured programs


NameSizeDateRatingDescription
(Parent Dir)folder Up to TI-86 Assembly Source
qsort.zip95k04-07-24File rated 8.28Ubiquitous Z80 QuickSort Implementation
This routine is quicksort, the fastest sorting algorithm currently out there. It sorts stuff in ascending order, and a demo is included. Just plug the start and end indexes of the list to bc and de, and you're set. Simple and small (<41 instructions, 90 bytes) and really, really fast (200 elements in an unnoticable amount of time). It works for all Z80 processors, all calcs, cellphones, and whatever, though the demo is for the 86. But like all quicksorts, it uses the stack, although I made the recursion structure a little less stack expensive.
3drot.asm4k99-02-02File is not rated3D Rotation and Misc. 3D Math Routines
86usm.zip1k00-01-01File is not ratedUnsigned Multiplier
This is an unsigned multiply routinw for the TI-86. I believe it's the fastest routine possible, but obviously that's easy for such a small program. I'm sure this has been done before at least as good, but if you need a multiplier you might want to use this one.
alinsprt.asm1k98-09-05File is not ratedAlignSprite Routine
Display an aligned sprite.
anim.asm4k98-10-05File is not ratedAnimation Controller
ascr86.h3k00-06-30File is not ratedEven More Advanced Sprite Clipping Routine
Nemesis' sprite routine featuring non-aligned, variable-sized (1x1-8x255) and horizontally CLIPPED!!! Just 72 bytes and fast enough.
ascr.h4k98-01-16File is not ratedAdvanced Sprite Clipping Routines
atexit.zip12k06-11-11File is not ratedC exit and atexit functions
These are the "atexit", "exit", and "_Exit" functions as found in the C Standard Library. Use "atexit" to register a function to be called on program exit. Use "exit" to exit from anywhere in a program and call each function registered with "atexit" in reverse order. Use "_Exit" to exit immediately. This version is a little faster and smaller than the previous version, at $36 bytes for code (versus $3A bytes). It still uses $05 bytes for variables and at least $42 bytes (this can vary) for stack space.
atof.asm2k98-08-10File is not ratedString to Floating Point Number Conversion Routine
atoi.zip1k04-11-11File is not ratedConvert a string to an integer
Standard C atoi function. Converts a null-terminated string to a 16-bit integer. Now faster and smaller than ever.
bintobcd.z802k02-07-26File is not ratedBinary to String
Two routines that format integer numbers to ascii strings that are printable using _puts or _vputs.
blittbitmaplarge.asm3k02-03-28File is not ratedblittBitmapLarge
Display an any size, b&w sprite anywhere on screen! Comes with an example!
centered.asm1k99-07-08File is not ratedCentered Text Routines
Routines for displaying centered text in the large and small font.
circle.zip3k00-11-09File is not ratedSuperCircle Routine
Routine draws any filled circle. It's quite optimized. (Uses a line routine to draw)
clock.asm4k99-06-15File is not ratedCTime User Code
CTime code for other programs to display a clock while CTime is running.
cnc86.zip89k00-02-19File is not ratedC&C 86 Engine
Source code to the map scrolling and mouse interface for a C&C type game.
crtstrng.asm1k00-08-11File is not ratedCrtStrng
According to the Guide: [This] is a fast String Variable Type creation tool easy enough for everyone to use.
ctype.zip3k04-11-11File is not ratedCharacter classification routines
Standard C character classification routines - isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, and isxdigit. Might be useful somehow.
dis.asm39k98-03-26File is not ratedTI-86 Z80 Disassembler
disphist.asm2k00-07-13File is not ratedDisplay History Entry
The source shows you how to display a history entry on the screen in the variable width font
dither.zip2k06-11-14File is not ratedDithering routine
Converts gray to black and white using a 4x4 dithering pattern. Includes three different dithering patterns: Bayer, newspaper, and "K map" (for really interesting results). This whole routine takes only 70 cycles.
dobarmenu.asm4k99-11-05File is not ratedDoBarMenu
Table-driven menu engine produces bar menus similar to BASIC's menu() command.
drawbox.zip1k04-12-10File is not ratedDrawBox 1.1
Draws a filled box on-screen.
drawspr.asm5k00-03-18File is not rated8xYx4 Sprite Drawing Routine
One of the fastest routine to draw 8xY 4colors sprites (for 8x8x4,
fastcirc_86.zip2k04-01-20File is not ratedFastCircle TI-86
Bresenham's circle algorithm. MUCH faster that the TI-OS routines. This version fixes a bug in the PSet subroutine.
fastclear.asm1k00-02-19File is not ratedFastClear routine
Clears the screen faster than call _clrLCD
fasterfp.asm1k98-08-10File is not ratedFaster FindPixel Routine
fastgamestart.zip5k03-05-30File is not ratedFast Sprite Shooter
This is a program for anyone making a game. It is a very fast routine that moves a sprite which can shoot bullets. All it needs is enemies and a storyline. This routine is fast enough to be used with some type of scrolling background and multiple enemies. A great start for any programer especially the beginer to intermediate that doesn't want to bother with their sprite shooting routines.
fastmap.asm5k00-04-22File is not ratedFastMap Routine
a fast tilemap routine compatible with most sprite routines
fastsprt.asm2k98-09-05File is not ratedFastSprite Routine
Fastsprite routine
fesmult.zip1k04-05-13File is not ratedFast Enough Signed Multiply routine
Fast and small signed 8-bit multiply routine. Probably the fastest and smallest classic shift-and-add signed multiply routine (correct me if I'm wrong).
feumult.zip1k04-05-11File is not ratedFast Enough Unsigned Multiply routine
Fast (204-251 cycles) and small (35 bytes) unsigned 8-bit multiply routine. Probably the fastest and smallest classic shift-and-add multiply routine.
findpixel2.asm1k01-12-10File is not ratedFindPixel routine
24 bytes, 127 cycles, 134 cycles with bus load time
findpixel86.asm1k00-05-04File is not ratedFindpixel
Smallest Findpixel available (24 bytes)... Now works even if bit 6 of hl is set!
findpixel-95.asm1k99-03-04File is not rated91/95 T-state FindPixel Routine
findpixel.asm2k98-07-27File is not ratedFind Pixel Routines
Two routines, one for speed and one for size.
fline.asm2k98-07-26File is not ratedFastLine v1.0
Fast line routine. Uses Bresenham's Line Algorithm.
font.zip6k01-03-02File is not ratedFont
A collection of different font installation programs.
forloop.zip1k00-01-02File is not ratedFOR Loop
This is a routine that allows you to use the FOR repitition structure in Assembly Language. This can easily be used on any calculator because there are no specific TI-86 ROM Calls
fp.asm1k98-08-10File is not ratedFast FindPixel Routine
fvputs.zip2k00-06-27File is not ratedFormatted Vputs
Allows bold, italic, underline formatting. Some grayscale support. May contain strange opcodes.
getdirec.asm1k98-11-22File is not ratedGet Direction Routine
gray2.asm1k98-07-26File is not ratedGrayScale Routine
Four shaded grayscale routine. Super fast and with less flicker than any other routine.
grsprite.asm1k98-07-26File is not ratedGrayScale PutSprite Routine
PutSprite routine modified for grayscale.
heapsort.zip4k06-04-15File is not ratedHeapSort for the Z80
An implementation of the famous HeapSort sorting algorithm in Z80 assembly language.
input_str.zip2k04-01-26File is not ratedString Input Routine
This is a routine that accepts a string entered on the keypad, and stores it in memory at a specified location. It supports most common characters, multiple lines, string length limits, backspacing, and graph screen text.
inverse.asm1k97-12-03File is not ratedInverse Routine
Inverses the entire screen. Very fast
jmmr.zip18k00-02-19File is not ratedJM's Memory Resident Loader
This is a loader that will place a small program (1KB or less) into the top of page 1. This allows you to write a program using the TI-OS's built in program writer to write a machine language. This algorithm can also be used for library routines in conjuction with an Interrupt.
los.asm1k03-03-09File is not ratedLength of String
This routine calculates the length of a string if it would be printed in the variable width font. Can be useful for centering text etc.
math16.zip1k04-11-20File is not rated16-bit math routines (multiply, divide)
math32.inc8k98-08-28File is not rated32-bit Math Routines for the Z80
menu86.zip4k03-10-07File is not ratedMenu 86 v1.4
TI-86 menu drawing routine. Very helpful, if you need a menus for your assembly program, or are trying to port a program directly from TI-86 Basic language. Right now the routine itself is only 159 bytes. It also has easy access to display text inside the menu. Also included is the ability to choose from the two different types of menus.
menumake.zip5k00-11-26File is not ratedMenu Maker
This makes a menu that uses the up and down arrows to move, and uses an arrow to point at the item you want.
menuroutine.asm4k98-10-23File is not ratedMenu Bar Routine
menu.zip11k06-08-05File is not ratedScrolling menu
This is a generic scrolling menu routine. It scrolls up and down with the arrow keys, calls a routine for the selection when ENTER or 2nd is pressed, returns when EXIT is pressed, and calls a routine when any other key is pressed. The routine is data-driven, so you don't have to change the routine at all. Using it is very simple and is all explained in the README.txt file.
mul8x8.asm1k98-08-10File is not ratedFast 8-bit Multiply Routine
mulhlby10.zip1k04-05-13File is not ratedMultiply HL by 10
Multiplies HL by 10. Returns carry on overflow. Faster and smaller than the TI-OS version.
mult.asm3k99-02-02File is not ratedFast 8-bit Signed Multiplication Routines
music.zip17k04-04-27File is not ratedMusic routines version 0.1b
These are easy-to-use functions to play songs on the link port. The songs it plays are defined with notes and not with a soundwave like other sound routines and programs. Because of this, the songs are much smaller than the wave versions (though they're limited to simple notes). This project is a beta version, so USE AT YOUR OWN RISK.
op1equpi.zip1k00-07-14File is not ratedOp1 Equals Pi
The value of Op1 equals Pi (3.1415...)
prac.zip6k01-03-02File is not ratedPrac
Various testing and practice programs I have written. Maybe one of these will help you or spark an idea for you.
psp16m.zip2k01-06-25File is not ratedPutSprite16Masked
This routine puts a 16x16 masked sprite without clipping. You can save the background too and restore it at the same place. This is an example, maybe not the fastest...
ptsprite.asm1k98-07-26File is not ratedPutSprite
Fast and small PutSprite routine.
randomgen.zip1k04-11-04File is not ratedRandom number generator
this routine is equal to randInt(1,100) or the more correct form 100 int(rand)+1
random.zip1k01-04-04File is not ratedRandom Number Generator
This routine uses a linear feedback shift register to generate a stream of random bits. Used in "Antz!". Read the file for more info.
rannum.asm1k99-03-04File is not ratedRandom Number Routine
routines.zip1k01-03-02File is not ratedRoutines
A collection of different routines maybe usefull for something.
rpmult.asm1k98-08-28File is not ratedRussian Peasants' Algorithm
scancode.zip1k01-03-02File is not ratedScanCode
Waits for a keypress and then prints the Scan Code (Hex equivalent) of that keypress.
scrldown.asm25k01-03-08File is not ratedVertical Scroll
Simple Vertical Scrolling Routine by Nick Haigler. Scrolls up to 319 pixels!!!
scrlltxt.asm1k02-02-25File is not ratedScrolling Text
Gives you that RPG style look of someone talking, or typing text. It also will scroll the screen as it gets to the bottom row.
scrollingroutines.zip2k03-03-06File is not ratedScrolling Routines
assorted scrolling routines for you to use, fairly fast. slightly updated from previous version
scroll.zip10k00-05-15File is not ratedTI-86 Game Engine
This is a very complex and fast scrolling engine. Working, but UNFINISHED!!! Demo program included.
search.asm4k03-03-09File is not ratedSearch for strings
This routine allows you to easily search for strings with a certain markup word at the beginning of the data.
searchcompare.asm7k98-11-15File is not ratedSearch and Compare Routines
Various routines for searching and comparing.
shiftscreen.zip1k04-08-03File is not ratedShift_Screen
Rotates image on screen or in buffer. Good for moving backgrounds.
smallfont.asm2k03-03-14File is not ratedSmallfont
Gives the same functions to the small font that we are used to witth the large one (_homeup, _newline...).
smallkey.asm2k02-08-04File is not ratedsmallkey
Using this routine programs using _getkey can be smaller.
smallscrollingtext86.zip5k05-03-02File is not ratedSmall Scrolling Text
This routine basically displays scrolling text in small font one letter at a time. It can easily be ported to the z80 calcs if needed.
smoothtxt.asm1k02-03-03File is not ratedSmooth Text
This is a nifty little routine that will scroll your text down/right one pixel as many times as you want... pretty neat! check it out!!!
soft.asm1k99-01-02File is not ratedSoft Scroll 86
soundbst.zip324k05-03-07File is not ratedSound Blast
This is a sound routine for the TI-86 calculator. It takes in the wavelength of the note, and time the note plays. This is one of the purest sound routines I have ever used. The note comes out very smooth. Attached are two pictures of how the sound wave actually looks coming from the routine.
spectips.zip10k00-06-23File is not ratedIPS Patch for ZX48.ROM v0.25a
This patch, applied to a Sinclair Spectrum ROM, allows it to be runned instead of the TI-86 ROM in emulators like TI86EMU. Check webpage for more details.
sprite8383p86.zip7k07-05-07File is not ratedsprite.asm v1.31
A compilation of a few useful sprite routines.
sprite.asm7k99-06-21File is not ratedSprite Routines
PutSprite(clip), GraySprite(clip)
sprmove.asm12k98-09-07File is not ratedSprite Moving Demo
Demos basic game coding concepts
stringrts.asm1k00-07-22File is not ratedString Routines
Several string routines for use in asm. Substr (like sub() in BASIC), strlen (find the # of chars in a string), and strpixels (find long a string is in pixels as if it were printed in the small font). Updated to fix _substr and make it smaller.
string.zip13k07-03-06File is not ratedString handling routines
This is an implementation of the string handling functions found in the ANSI C Standard Library. All of the functions memchr, memcmp, memcpy, memmove, memset, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strlen, strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, and strxfrm are implemented. Only strerror and strtok are unimplemented currently. See the file doc/index.html in the archive for complete documentation.
strprmpt.asm1k98-07-26File is not ratedString Input
Routine to input a string.
strtonum.asm9k99-06-13File is not ratedStringToNumeric Routine
Converts a string to a real number.
sudsy2.asm1k98-07-26File is not ratedGeneral Sound Algorithm
General routine for link port sound.
test.zip2k04-02-17File is not ratedReverse Sprites
These 2 routines reverse sprites. The 1st reverses every byte, bit-by-bit, in a set of data (ideal for 1 byte wide sprites). Ihe other reverses for a 2 byte wide sprite after the 1st is applied. These saved me over 350 bytes in Super Saiya-jin Rage, soon to be re-released.
textin.asm2k99-11-05File is not ratedTextIn
Text input routine that accepts numbers and upper/lowercase letters.
threading.zip8k04-03-16File is not ratedThreading 3.5
An update to my threading system. This time, I've fixed a bug with restoring the ix register, and I've also added memory locking and unlocking. This will help protect programs from crashing during routines that access global data.
threadsp.zip41k04-07-24File is not ratedPreemptive Multithreading 1.0
These are functions for *preemptive* multithreading in an assembly-language program. This is similar to the way modern operating systems multitask. It uses mode 2 interrupts, so grayscale is possible by editing the interrupt handler. It supports unlimited number of threads (currently only one variable limits it to 255); exiting and canceling threads mid-slice; waiting on another thread; and variable thread priorities, similar to nice in *nix. It also supports conditional assembling, so you can include only the features you need!
threads.zip24k03-06-30File is not ratedCooperative Multi-threading v1.0
Functions for cooperative multi-threading in an assembly-language program. This version more closely (but not exactly) adheres to POSIX threads (Pthreads) than the previous versions.
th.zip29k07-05-16File is not ratedCooperative Multithreading Library
This is a cooperative multithreading library for the Z80 processor. It has all of the common routines for manipulating threads. It also includes a library for handling readers/writer locks.
trigfat.inc24k98-08-01File is not ratedTrig Tables FAT v2.1
Header file for sine and cosine values.
triglite.inc17k98-08-01File is not ratedTrig Tables LITE v2.1
Header file for sine and cosine values. Compiles half the size of fat version, but twice as accurate.
ubersprite.asm3k02-01-01File is not ratedUbersprite
A (unaligned) sprite routine that uses a precalculated table to speed up drawing. Very fast, but not suitable for all purposes. No masking, no clipping, black and white, 8x8 only.
usumult.zip1k04-05-12File is not ratedUltra Slow Unsigned Multiply routine
Ultra slow (averages 218114190 cycles) unsigned 8-bit multiply routine. Useful when you want the speed of cold molasses.
vfgraysprite.zip2k05-03-02File is not ratedVery Fast Gray Sprite Routine (8x8 and 16x16)
Draws an 8x8 grayscale sprite in 4,609 cycles or less, and a 16x16 in 16,443. The fastest that I know about so far... Optional clipping added.
vfmult.asm5k99-11-21File is not ratedVery Fast 8-bit Multiplication Library
vfsprite.asm7k99-11-21File is not ratedVery Fast Customizeable Sprite Routine
_vputs_ml.zip1k03-10-19File is not rated_vputs for multiple lines
This routine works exactly like _vputs, except that it will interperet $d6 as a newline char. This can dramatically reduce code size when using the variable-width text on multiple lines. Now includes a version for the '83+.
vs4gray.zip2k01-03-27File is not ratedVery Small 4 GrayScale
The smallest 4 GrayScale routine: 96 bytes only.
while.zip1k00-01-02File is not ratedWhile Loop Routine
A routine that alows you to use the WHILE repitition structure in Assembly Language.
writeback.asm1k00-08-20File is not ratedWriteback Routine
A highly optimized writeback routine for saving data such as high scores and saved games.
zcondown.zip1k00-11-23File is not ratedContrast Down
Decrease Contrast on ti86
zcontup.asm1k00-11-23File is not ratedContrast Up
Routine for Increasing the Screen Contrast
zmrgs.zip2k03-05-15File is not ratedZMR - Zoomin' Mob Routine (Grayscale Version)
Originally by Dux Gregis, updated by Ricky Cobb for Grayscale, and Optional Masking. This 8x8 putsprite/grayscale routine does clipping of sprites to draw only what is need to the screen. This update includes a small bug fix from the original ZMR.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer