Omnimaga

Calculator Community => TI Calculators => Axe => Topic started by: ztrumpet on November 08, 2010, 09:19:35 pm

Title: Routine Thread Index
Post by: ztrumpet on November 08, 2010, 09:19:35 pm
Here's a nice little index of the current topics covered in the Routines thread (http://ourl.ca/4129):

How to add/subtract two 32-bit numbers by calc84maniac
http://ourl.ca/4129/76945

Sin approximation routine by Builderboy (Now covered by Axe)
http://ourl.ca/4129/77078

Blur Effect by DJ Omnimaga
http://ourl.ca/4129/77708
http://ourl.ca/4129/77966

For Loop with Increment of other than 1 by Eeems
http://ourl.ca/4129/77727

Random Numbers in a given range by Quigibo
http://ourl.ca/4129/78006

Displaying sprites with vertical offsets by Quigibo
http://ourl.ca/4129/78036

Collatz Conjecture by calc84maniac
http://ourl.ca/4129/78401

Tilemapper by Builderboy
http://ourl.ca/4129/79643

PROGRAM WRITE BACK by SirCmpwn
http://ourl.ca/4129/80259
http://ourl.ca/4129/80267

Toggle Screen On/Off by SirCmpwn
http://ourl.ca/4129/80317

Programs with images other than the Axe Parser Axe by SirCmpwn (Now covered by Axe)
http://ourl.ca/4129/80700

Number Input by _player1537
http://ourl.ca/4129/80803
http://ourl.ca/4129/81340

16*16 Sprite Routines by _player1537
http://ourl.ca/4129/81958

Entire Screen to Hex by SirCmpwn
http://ourl.ca/4129/82023

AppVar Support by SirCmpwn (Now covered by Axe)
http://ourl.ca/4129/82057

String Input by LordConiupiter
http://ourl.ca/4129/82209

8*8 and 16*16 Sprite Editors by LordConiupiter
http://ourl.ca/4129/83690

16*16 Sprite Routine by LordConiupiter
http://ourl.ca/4129/83690

Greyscale by Builderboy (Now covered by Axe)
http://ourl.ca/4129/84039

Greyscale Background by DJ Omnimaga
http://ourl.ca/4129/87960

Sandstorm by DJ Omnimaga
http://ourl.ca/4129/91188

Measuring the length of small font text in pixels by SirCmpwn
http://ourl.ca/4129/91820

DJ's Sandstorm with extra effect by _player1537
http://ourl.ca/4129/92986

Substring by Quigibo
http://ourl.ca/4129/94054

AMOUNT OF CURRENT RAM by DJ Omnimaga, BrandonW, Calc84maniac and Iambian
http://ourl.ca/4129/94067

Bresenham circle algorithm (Draws perfect circles) by calc84maniac
http://ourl.ca/4129/96061

8.8 Fixed Point Multiplication by Quigibo (Now covered by Axe)
http://ourl.ca/4129/97657

Automated Sound Loader/Player by Quigibo
http://ourl.ca/4129/100021

Invert the Screen by DJ Omnimaga
http://ourl.ca/4129/102147
http://ourl.ca/4129/102177

Sprite Rotating and Flipping by Nemo (Now covered by Axe)
http://ourl.ca/4129/102706

RLE (Run Length Encoding) Compression/Decompression by Nemo
http://ourl.ca/4129/104983
http://ourl.ca/4129/103313

Half Byte RLE Compression/Decompression by Nemo
http://ourl.ca/4129/105238
http://ourl.ca/4129/105267

How to retrieve data from OS matrices by Runer112
http://ourl.ca/4129/111680

InData() Tutorial by Quigibo
http://ourl.ca/4129/114828

String Input by ztrumpet
http://ourl.ca/4129/122465

Smoothscrolling Tilemapper by shimbs
http://ourl.ca/4129/122642

How to retrieve data from OS lists by Runer112
http://ourl.ca/4129/123189

Number Input by aeTIos
http://ourl.ca/4129/123530
http://ourl.ca/4129/125194

HEX DISPLAY by Runer112
http://ourl.ca/4129/124589

Deadly accurate Sine and Cosine Routines by Runer112
http://ourl.ca/4129/130460

On Button Input by calc84maniac (Now covered by Axe)
http://ourl.ca/4129/133322

Random Realistic Map Generator by Builderboy
http://ourl.ca/4129/135999

Bresenham's line algorithm by Michael_Lee
http://ourl.ca/4129/138496

Resuming to the Original Contrast by Runer112
http://ourl.ca/4129/141483

Fade In/Out without changing the Contrast by squidgetx
http://ourl.ca/4129/141698

Flexible-ish Drop Down Menu by nemo
http://ourl.ca/4129/146479

Character explorer for ?Char by Darl181
http://ourl.ca/4129/146938

Creating Ans as a String by Runer112
http://ourl.ca/4129/146998

TIOS Style Menu by SirCmpwn
http://ourl.ca/4129/153319

Advanced Sorting Features by Runer112
http://ourl.ca/4129/153698

Draw an elliptical shape like an oval/circle by Ashbad
http://ourl.ca/4129/154074
http://ourl.ca/4129/154162

3 Byte and 4 Byte Addition/Subtraction/Display by Runer112
http://ourl.ca/4129/155369

Complete Key Input by squidgetx
http://ourl.ca/4129/170416

Running a basic program from Axe by Xeda112358
http://ourl.ca/4129/181038

Drawing Bezier Curves by Michael_Lee
http://ourl.ca/4129/186296

Evaporating Water Effect by Darl181
http://ourl.ca/4129/187716

Arctangent (tangent inverse) Routine by ZippyDee
http://ourl.ca/4129/191782

Animated Vertical Screen Flipping Routine by Runer112
http://ourl.ca/4129/212961

Current Hardware Version (Figure out if it's an 83+/83+SE/84+/84+SE) by DrDnar and Runer112
http://ourl.ca/4129/218560
http://ourl.ca/4129/218638

Reading From/Writing To Ports by DrDnar
http://ourl.ca/4129/218560

Clear a 6*6 Square on Both Buffers by ztrumpet and Runer112
http://ourl.ca/4129/221095
http://ourl.ca/4129/221136

Rounding Tricks by Deep Thought
http://ourl.ca/4129/224181

InString and SubString like in Basic (but in Axe) by Runer112
http://ourl.ca/4129/231479

Polygon Drawer by Michael_Lee
http://ourl.ca/4129/232689

Iterator Programming Example (using lambda syntax and closures) by WaeV
http://ourl.ca/4129/245096

Displaying Text with Newlines by ZTrumpet
http://ourl.ca/4129/245179

Clipped Lines by Darl181
http://ourl.ca/4129/251821

Interaction with the in-calculator Clock (84+(SE) only) by jacobly
http://ourl.ca/4129/270189
Title: Re: Routine Thread Index
Post by: meishe91 on November 08, 2010, 09:20:56 pm
Holy crap. That's awesome. Great job :)
Title: Re: Routine Thread Index
Post by: MRide on November 08, 2010, 09:31:28 pm
Ooh, this is nice and convenient.  Thanks!
Title: Re: Routine Thread Index
Post by: Happybobjr on November 08, 2010, 09:44:00 pm
great thankz
Title: Re: Routine Thread Index
Post by: Michael_Lee on November 08, 2010, 09:56:02 pm
Cool, bookmarked.
Also, are these all relevant/still work for the recent versions of Axe?
Title: Re: Routine Thread Index
Post by: ztrumpet on November 08, 2010, 10:16:06 pm
Also, are these all relevant/still work for the recent versions of Axe?
Pretty much; the two that are completely outdated have a note next to them. :)
Title: Re: Routine Thread Index
Post by: Runer112 on November 08, 2010, 10:45:33 pm
I believe fixed point multiplication and sprite rotating/flipping are both outdated, as well.
Title: Re: Routine Thread Index
Post by: DJ Omnimaga on November 08, 2010, 11:20:48 pm
WOW awesome! Thanks for posting this. It should be very helpful because there are so many posts that stuff gets lost easily and we have to read all threads. :D
Title: Re: Routine Thread Index
Post by: Raylin on November 08, 2010, 11:53:03 pm
Stickied.
Title: Re: Routine Thread Index
Post by: DJ Omnimaga on November 09, 2010, 12:33:10 am
Yeah I thought about doing it, but last time I stickied some topics, Quigibo asked me to unsticky them because they cluttered the stickied list. Hopefully he doesn't mind this time.
Title: Re: Routine Thread Index
Post by: Ti-DkS on November 09, 2010, 11:08:47 am
Great job ztrumpet ! It will be very easier to find Axe routines now :)
Title: Re: Routine Thread Index
Post by: kindermoumoute on November 09, 2010, 11:37:59 am
Very usefull, thank !
Title: Re: Routine Thread Index
Post by: nemo on November 09, 2010, 04:06:56 pm
my sprite rotation routine is probably irrelevant now that there is sprite rotating in axe :P nice compilation!

edit: and with sir cmpwn's program writeback routine (http://ourl.ca/4129/80259), could this potentially be used be to create an on-calc IDE? basically, this means you can edit the data of a program variable and write it back into the VAT safely, am i correct?
Title: Re: Routine Thread Index
Post by: DJ Omnimaga on November 09, 2010, 09:38:43 pm
Hmm...

IDEA!

On MaxCoderz forums, they used a special system to index certain topics automatically in the help section. If someone knew PHP, maybe he could write a PHP script for this topic that would index any post containing a certain tag at the start, such as [ROUTINE]? I'M not sure how had that would be, though, and if this would be intensive on database load. It would be easier to index the topics, though, but we would have to manually append [ROUTINE] at the beginning of the already posted routine messages.

An admin could just insert the PHP script inside a post.
Title: Re: Routine Thread Index
Post by: shmibs on November 09, 2010, 10:39:41 pm
sweet, thanks ztrumpet
also, i looked back at the tilemapper i posted there and realised that i had included some fatal mistakes which i have(hopefully) now removed.
Title: Re: Routine Thread Index
Post by: Deep Toaster on November 10, 2010, 11:04:43 am
Awesome! This is really convenient. Thanks!
Title: Re: Routine Thread Index
Post by: nemo on November 12, 2010, 11:57:43 am
i have a question about Sir's program writeback routine. what exactly does that do? does it take a program in the vat, allow you to edit it, and then you can re-save it into the vat?
Title: Re: Routine Thread Index
Post by: Deep Toaster on November 12, 2010, 12:09:05 pm
Well, sort of. When programs are run with Asm( (or with a shell that copies the program instead of moving it to $9D95 to run), the original program's still somewhere else in RAM. So changes to, say, GDB0 wouldn't appear the next time you run the program. SIr's routine basically finds the original program in RAM, and you can edit it directly from there. No messing with the VAT is needed since all the VAT does is point to the program anyway.
Title: Re: Routine Thread Index
Post by: ztrumpet on November 12, 2010, 07:14:32 pm
i have a question about Sir's program writeback routine. what exactly does that do? does it take a program in the vat, allow you to edit it, and then you can re-save it into the vat?
Unfortunately, Deep Thought's not entirely correct. :-\
Program write-back is used for Self Modifying Code (often used for Saving Highscores without an external AppVar).
Basically, Program Write-back allows you to make changes to the program from where it is copied and Sir's code will copy the resulting changes back in the program file.
for example:
.TEST
_delta_list(0r)->Str0
Disp {Str0}r+1->{Str0}r>Dec

This will display 1 every time unless Sir's program write-back is enabled.  I believe shells write-back automatically too, but that may be only if the program's archived.  I know in Mirage you can turn Write-back in Archive on and off.

Here's a helpful tutorial on the subject: http://future_history.freehostia.com/Files/Resources/ASM/ASMin28Days/lesson/day20.html
Title: Re: Routine Thread Index
Post by: Deep Toaster on November 12, 2010, 07:24:54 pm
i have a question about Sir's program writeback routine. what exactly does that do? does it take a program in the vat, allow you to edit it, and then you can re-save it into the vat?
Unfortunately, Deep Thought's not entirely correct. :-\
Program write-back is used for Self Modifying Code (often used for Saving Highscores without an external AppVar).
Basically, Program Write-back allows you to make changes to the program from where it is copied and Sir's code will copy the resulting changes back in the program file.
for example:
.TEST
_delta_list(0r)->Str0
Disp {Str0}r+1->{Str0}r>Dec

This will display 1 every time unless Sir's program write-back is enabled.  I believe shells write-back automatically too, but that may be only if the program's archived.  I know in Mirage you can turn Write-back in Archive on and off.

Actually, even if it's run from RAM, most shells move the program straight to $9D95 (instead of copying) so that no matter what, it writes back since the program has to be moved back eventually. For running from archive, writeback has to copy it back and forth (and that's why the choice is there).

Btw, how was I wrong (just wondering, don't want to give false info...)?
Title: Re: Routine Thread Index
Post by: ztrumpet on November 12, 2010, 07:28:51 pm
Btw, how was I wrong (just wondering, don't want to give false info...)?
I was wrong, as I didn't realize this:
Actually, even if it's run from RAM, most shells move the program straight to $9D95 (instead of copying) so that no matter what, it writes back since the program has to be moved back eventually. For running from archive, writeback has to copy it back and forth (and that's why the choice is there).
Sorry.  :(
* ZTrumpet feeds himself to the lobster


Thanks for the info!  I didn't realize they did that. :)
Title: Re: Routine Thread Index
Post by: Deep Toaster on November 12, 2010, 07:40:19 pm
Btw, how was I wrong (just wondering, don't want to give false info...)?
I was wrong, as I didn't realize this:
Actually, even if it's run from RAM, most shells move the program straight to $9D95 (instead of copying) so that no matter what, it writes back since the program has to be moved back eventually. For running from archive, writeback has to copy it back and forth (and that's why the choice is there).
Sorry.  :(
* ZTrumpet feeds himself to the lobster


Thanks for the info!  I didn't realize they did that. :)

No problem, I just learned that a few days ago too :D
Title: Re: Routine Thread Index
Post by: SirCmpwn on November 16, 2010, 01:02:19 am
Wow, very useful topic!  Memo, the current version of Axe can modify programs.
Title: Re: Routine Thread Index
Post by: DJ Omnimaga on November 16, 2010, 02:03:19 am
Are you talking about SMC? ???
Title: Re: Routine Thread Index
Post by: LordConiupiter on November 16, 2010, 02:16:19 am
very usefull topic indeed! thanks for doing this!
Title: Re: Routine Thread Index
Post by: Runer112 on November 16, 2010, 02:33:55 am
By the way ztrumpet, you still have yet to mark off fixed point multiplication and sprite rotating/flipping as being covered by Axe. I made a post a short while ago saying that they were outdated, but it looks like you must have missed that post. Don't miss this one! ;)
Title: Re: Routine Thread Index
Post by: ztrumpet on November 16, 2010, 03:49:05 pm
Whoops, sorry.  Thanks Runer. :D
Title: Re: Routine Thread Index
Post by: SirCmpwn on December 07, 2010, 10:25:57 pm
While reading through this, I realized that I did some pretty badass routines ;) I got writeback working, and appvar storage way before Axe got it, and I got MirageOS support before Axe officially got it, and I still have the only way of using a custom icon for MOS.  I actually have a few gems sitting on my calculator next time I can get them off ;)
Title: Re: Routine Thread Index
Post by: DJ Omnimaga on December 08, 2010, 04:07:08 am
Yeah those were really great! I wonder if yoU'll have some more cool routines. :P

Also if I am ever less busy, I think one day I'll look through old Axe progress posts. It will be fun to see how things evolved since then. :P
Title: Re: Routine Thread Index
Post by: ztrumpet on June 12, 2011, 02:02:50 pm
I just wanted to bump this and mention that I'm still updating it, as some of the newer members may not have seen it. ;)