Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Galandros

Pages: [1] 2 3
Humour and Jokes / Anyone knows
« on: March 26, 2011, 09:08:44 am »

I would love a version of this that loops forever. >:D

Computer Usage and Setup Help / PC Software for controlling computer breaks
« on: February 04, 2011, 08:19:14 pm »
Finally after more than a year trying searches, waiting, being alert while surfing I found a little software pearl for helping me control my rests on computer.

The name is Workrave:
Open source, free (of charge) and for Linux and Windows.

It is configurable and gives some statistics of your computer usage. Plus there is a portable version on, that was how I discovered it.
And the program description helped to unveil the right keywords on Google to search this kind of software. I had rough ideas for keywords but they never showed up what I was looking for.

It has all the options I really wanted and others I found really useful as well.

So now there isn't excuse for not taking a walk and rest your eyes. :P

ASM / Quicksort in z80 (note: not by me)
« on: November 13, 2010, 09:31:32 am »
While doing some research for WikiTI I have found this:

Here is the code for quicksort:
; >>> Quicksort routine v1.1 <<<
; by Frank Yaul 7/14/04
; Usage: bc->first, de->last,
;        call qsort
; Destroys: abcdefhl
qsort:  ld      hl,0
        push    hl
qsloop: ld      h,b
        ld      l,c
        or      a
        sbc     hl,de
        jp      c,next1 ;loop until lo<hi
        pop     bc
        ld      a,b
        or      c
        ret     z       ;bottom of stack
        pop     de
        jp      qsloop
next1:  push    de      ;save hi,lo
        push    bc
        ld      a,(bc)  ;pivot
        ld      h,a
        dec     bc
        inc     de
fleft:  inc     bc      ;do i++ while cur<piv
        ld      a,(bc)
        cp      h
        jp      c,fleft
fright: dec     de      ;do i-- while cur>piv
        ld      a,(de)
        ld      l,a
        ld      a,h
        cp      l
        jp      c,fright
        push    hl      ;save pivot
        ld      h,d     ;exit if lo>hi
        ld      l,e
        or      a
        sbc     hl,bc
        jp      c,next2
        ld      a,(bc)  ;swap (bc),(de)
        ld      h,a
        ld      a,(de)
        ld      (bc),a
        ld      a,h
        ld      (de),a
        pop     hl      ;restore pivot
        jp      fleft
next2:  pop     hl      ;restore pivot
        pop     hl      ;pop lo
        push    bc      ;stack=left-hi
        ld      b,h
        ld      c,l     ;bc=lo,de=right
        jp      qsloop
; >>> end Quicksort <<<

I hope some z80 junkies enjoy. And discuss.

Other Calculators / My stay on calc community
« on: October 07, 2010, 05:17:17 pm »
No worries about me, I am 100% fine, just much more occupied than ever because of University.
To the curious I followed Mathematics. (I also enjoy Engineering and Physics, it was a hard choice)

I also learnt some new skills (C and Python, easily grasped, takes experiences to master) and I might start to do some projects (web and math oriented) with new people I am meeting. Finally I find abundance of good chess players... hahaha

I will make effort to tackle my calculator projects but it will be in the long term.
Unfortunately I can only follow Revsoft forum 1 time a week or so.

See ya on the forums when I have an opportunity.

PS: sorry to not give news earlier but I was not in the mood to write until today. ;)

Humour and Jokes / Series of TV Memes
« on: June 14, 2010, 05:13:19 pm »
Yes, we have memes on TV in Europe. Unfortunately... And all from one single tv show. Only SIC to repeat that tv show that comes from a weird Asiatic idea. Ok, funny at first and up to ~10 shows but becomes stupid after repeating and exhausted repetition.
Enough complaining.

Can you hear this... uh... thing until the end?

Starting by this one:

This one actually brings some good happy times to many people:

EDIT2: these ones are more audible relatively to my culture, Brazilian songs, and yes, turned into memes

Since in the z80 calculators there aren't folders unless you use some shell like DoorsCS, I prefix the name of my TI-BASIC programs for easier access.

Here are my prefixes:
A - easy access to execute because they appear first in the programs listing
G - game under development
R - reusable subroutine in a program (generally to Rcl them in a program)
N - notes or nifty programs
U - utilities
T - tools (meh, ends to be the same as utilities)
Z - list in the end of the program list but before Theta. For data programs or subroutines of large programs (games mostly)
Theta - list in the end of the program list

About general organization of programs I always keep a A, A1, A2, A3 programs for experimenting TI-BASIC code and optimization of parts of code.
About groups, I keep backup copies prefixed with CS and suffixed with a number (suggestion from here in the forums).

Now it is your turn.

ASM / ARM assembly resources
« on: June 04, 2010, 05:16:35 pm »
Finally found them. I don't know why my 2 first searches were not productive. I searched for mere (I like the word) curiosity and maybe a lot time later see them.
These are some links for ARM assembly programming tutorials, books and instruction set.

(note these tutorials do not seem for beginners in assembly, I read a bit to verify)


Instruction set:

Nspire related links:

Some other tips:
      DIY: Compile some piece of C-Code and analyze the disassembly.
      Game Boy Advance (and possibly Nintendo DS) Homebrew web-sites have lots of material.
      Acorn Archimedes Nostalgia Web-sites often have nice assembler code-snippets.
      see for assembly gems

TI-BASIC / Optimized Routine: Set Up Friendly Graph Window
« on: May 30, 2010, 03:37:58 pm »
I did a long time ago. I experimented a lot to get this optimized routine. I added this to TI|BD some time after discover...
And because I see unoptimized versions of this in lots of programs, I decided to share on the forums.
I still need to spread this optimized version through other entries of the wiki.

Here's the code:
Code: [Select]
//// Prepare graph screen to be used in TI-BASIC
StoreGDB 0 // save the current graph screen, user friendly
FnOff         // we don't want functions to bloat
PlotsOff      // plots too
GridOff        // rare but just in case
AxesOff      // no axes please :)
// miss here the coordinates setup...

///main code

RecallGDB 0 // restore the graph screen, user friendly
DelVar GDB0 // clean up

//The following code sets up an integer square window with (0,0) in the center:

//An integer window with (0,0) in the bottom left corner

//An integer window with (0,0) in the top left corner

And a alternate version of preserving user setting with a few drawbacks:
Code: [Select]
ZoomSto // store the zoom
FnOff         // we don't want functions to bloat
PlotsOff      // plots too
GridOff        // rare but just in case
AxesOff      // no axes please :)
// miss here the coordinates setup...

///main code

// restore
ZoomRcl  // restore the zoom

Maybe ZPrevious could be used for further optimization. I need to test. Tested. It is not great use for restoring graphics setting after more than 1 command that changes the graph settings.

For curiosity here's the good old straightforward but larger code:
Code: [Select]
can be

Good use!

TI-BASIC / Pure TI-BASIC grayscale ASCII game
« on: May 30, 2010, 03:24:51 pm »
This is an experiment I am doing mostly for my fun. It is intended only for SE calculators because of speed. It has some flicker but for Pure TI-BASIC is actually cool.
This will give use to my recent utility of hidden tokens, too.

The base code of is:
:While 1
This should enlighten who knows pretty well TI-BASIC. (at least I instantly knew how to make this code work) See the demo code for further understanding of the technique.

I already have a demo and screenie for the more skeptic.
But I need a idea for the game. It has to be with ASCII graphics, simple, a bit slow paced but fun. (if possible addictive too)
EDIT: puzzle or board games genres is the way to go. ;)

TI-BASIC / Extra tokens and token picker (with grayscale)
« on: May 30, 2010, 10:16:44 am »
Ok, I did the programs and they do the job. (small and feature Pure TI-BASIC grayscale (best viewed in a TI-84+SE))
I am not kidding about grayscale. Test if it looks good another calculators models. I messed a lot with = and its "reversed colour" token without success.
I guess there aren't bugs but I optimized as much as I could...

Controls are:
2nd to select/finish
up/down=next/back 9 tokens (not 10 because that is 2 more bytes in code)
right/left=next/back 1 token
Some programs may require.
Del to delete one token
Mode to see next screen of tokens
F1 to finish

Then look in Ans or Str9 the tokens you want.
Destroys Str0 and Str9. My convention in TI-BASIC coding is that Str0 is a temporary string, Pic0 a temporary picture and so on.

I will polish a bit more and release with proper donotreadme. I can say there is a reason in the naming of the programs. Oh, this will get release in ticalc, it is probably one of the best token selectors in TI-BASIC.
I did some odd decisions because of size optimization... You will see.

I will gladly reply to feedback and suggestions. Thanks.
EDIT: I released this to backup and don't forget to credit meishe91 and others.
EDIT2: I will try to come with a decent screenshoot in the final release.

Miscellaneous / Learning new languages (speaken) alone
« on: May 24, 2010, 03:07:14 pm »
Due to the discussion and recent add of other languages sub-forum in Omnimaga, I finally started to learn some French and German.

I want to discuss about how some of you learn a new language alone and useful resources for it.

Things that come right now in my mind:
tutorials for that languages (websites any?)
spell checker (might be a bad habit to use early or maybe only if you use the suggestions without trying to correct yourself first, making errors and correcting them is actually a good thing for learning)
translator (
books for beginners (don't forget the ebooks)
software for pronunciation (
games (suggestions: Pokemon Blue/Red)

Playing a game in a foreign language is fun and educational, preferentially RPGs or any game that have a history to learn/search new vocabulary.
I found Pokemon Red/Blue amazingly easy to understand in German, I had 3 years of German, 3 years ago and I remembered already lots of stuff and figured out some new.

Gaming Discussion / Flash Games share
« on: May 14, 2010, 08:45:37 am »
I love playing some flash, java or even JavaScript games from time to time. Puzzles, physics puzzles, free building with physics rules, action or strategy, they can be truly addictive and some of them are a great show off of creativity.
Or when they decide to do a game based on recent events on politics or disasters, shows a sense of lack of imagination but hilarious laugh or sick humour.

So let's share some good ones. For starting, very recently I found this java game from BuilderBoy:
Just mix some elements and let the laws of the game work. It is quite entertaining...

Later I will show a list that I collecting. I divide into 3 main categories flash, java or JavaScript. Then tag with addictive, action, physics, strategy, RPG and others.

Does this happen to you? ;D

Miscellaneous / Benfica is champion
« on: May 10, 2010, 04:58:23 am »
SLB, SLB, SLB, SLB, glorioso, SLBêeeé, glorioso, SLB!!! *from heart and using from full lung*

I couldn't resist. ;D I am not from any fan club or "claque" but I this season was a good one. I enjoy following the matches when there is decent and exciting football matches being played and that happened with Benfica, Sporting de Braga and Porto this season. Unfortunately Sporting (Sporting de Braga is a different team of Sporting and was a surprise) is in pretty bad state...
Note: glorioso means glorious and SLB is Sport Lisboa e Benfica.

Now there is the world cup. Let's see how Cristiano Ronaldo gets back its title of best player of the world. ^^ (or not)

Btw, since there is no other portuguese around here (there a good probability of portuguese descent being of Benfica, though) but what teams and sports, you watch games? In europe football is the sport of masses. In US, I know most things from movies and culture.

Just trying to find the complete font of CASIO Fx-9860G SD tokens (CASIO did in the minimum a decent work, I have a hint that their tokens are ASCII compatible unlike TI *cough*) and they have all mathematical/logic symbols and greek letter, you would want. And the search directed me to some game archive.

To see the topic, search for "Indestructo Tank v1.1" in the page of the link bellow because the page doesn't have a anchor or link to the topic...

I have been seeing some CASIO and HP calculators just to see the other side. I discovered along the way some ideas to implement on TI calculators.

ASM / ASM Delvar - Clean and free up from BASIC variables
« on: April 17, 2010, 07:34:12 am »
Coded this morning. Not that useful but just some practise and wanted to do.
This is an assembly version of DelVar ADelVar B(...)DelVar /theta/.

Features for now:
- custom builds
- small, fast and stable
- TI-83+ and some TI-83 compatibility

Suggested uses:
 - include in your custom asm library to TI-BASIC, this is a faster and smaller way to clean up variables after use
 - can be also used in APPS that allocate memory, through bcall(_InsertMem), and in the case it has not enough memory (prompting the user or not is up to you),
try to free enough memory to execute.

Source Code:

Make sure you have a complete and especially the Check the src folder in the zip file attached.

- Deletes variables real and complex variables from A to Z and Theta
Code: [Select]
#ifdef TI83
#undefine DELARCVARS ; bcall(_DelVarArc) not documented in TI83
#undefine ZEROANS

;Delete Real and Complex Vars from A to Z and Theta
#ifdef ZEROANS
bcall(_OP1Set0) ; This will set OP1 to FP 0 ( .db 0,$80,0,0,0,0,0,0,0)
bcall(_StoAns) ; Ans will be equal 0 (Ans can be a huge list or string and take huge space)
bcall(_ZeroOP1) ; OP1 needs to be zeroed or it will not work for some reason
call deleteAZ ; (OP1) = RealObj = $00 because OP1 is zeroed
ld a,CplxObj
ld (OP1+0),a
ld a,tA
push af
ld (OP1+1),a
bcall(_FindSym) ; look up
jr c,sdelarcAZ
#ifndef TI83 ; TI-83 does not have flash
inc b ;\
dec b ; | if b!=0 (it is in flash), then skip
jr nz,sdelarcAZ ;/
bcall(_DelVar) ; delete variable only if in RAM
pop af
inc a
cp tTheta+1
jr nz,deleteAZloop

;OPTIMIZE TRY: use ld hl,OP1, push and pop hl in deleAZloop
;and other changes but is exactly the same size


 .echo "code size: ",deleteAtoZaThetaEnd-deleteAtoZaTheta

- Deletes many variables: A-Z and Theta, L1-L6, [A]-[Z], Y1-Y6, X1T-X6T, Y1T-Y6T, r1-r6 and u-w.
- DOES NOT WORK WITH TI-83 besides has some #if's for TI-83 in my attempt to work
Code: [Select]
;Clean Up Basic Variables
;all numbers A-Z and /theta/, lists L1 to L6, matrices [A]-[J], Ans, graphics functions
;detects real and complex numbers or lists
#ifndef TI83
bcall(_CleanAll) ; delete all temp variables
#ifdef ZEROANS
bcall(_OP1Set0) ; This will set OP1 to FP 0 ( .db 0,$80,0,0,0,0,0,0,0)
bcall(_StoAns) ; Ans will be equal 0 (Ans can be a huge list or string and take huge space)
bcall(_ZeroOP1) ; OP1 needs to be zeroed or it will not work for some reason
ld ix,OP1 ; the pointer
ld d,0 ; a flag for activate equ create with 0 bytes (needed to not crash TI-OS)
; it is preserved in deletevars2
ld c,d ; c = RealObj = $00
ld a,tA ; (OP1+0) = $00 = RealObj, already
ld b,tTheta+1
call deletevars2
ld c,CplxObj
ld a,tA
; ld b,tTheta+1 ; it was preserved!
call deletevars2

;these vars have 3 bytes, so a smart solution is coded
inc ix
ld e,d ; e = RealObj = $00
ld c,tVarLst
ld a,tL1
ld b,tL6+1
call deletevars3
ld e,CListObj
; ld c,tVarLst ; it was preserved!
ld a,tL1
; ld b,tL6+1 ; it was preserved!
call deletevars3
ld e,MatObj
ld c,tVarMat
ld a,tMatA
ld b,tMatJ+1
call deletevars3

inc d ; activate bcall(_Create0Equ)
ld e,EquObj
ld c,tVarEqu
ld a,tY1
ld b,tY0+1
call deletevars3
; ld e,EquObj
; ld c,tVarEqu ; it was preserved!
ld a,tX1T ;\tX1T to tX6T
ld b,tY6T+1 ;/tY1T to tY6T
call deletevars2
; ld e,EquObj
; ld c,tVarEqu ; it was preserved!
ld a,tR1
ld b,tR6+1
call deletevars2
; ld e,EquObj
; ld c,tVarEqu ; it was preserved!
ld a,tun
ld b,twn+1
;fall back

ld (ix-1),e
ld (ix+0),c
push af
push bc
push de ; all preserved
ld (ix+1),a
bcall(_FindSym) ; look up
jr c,sdelarc ; if doesn't exist, then skip
#ifndef TI83 ; TI-83 does not have flash
inc b ;\
dec b ; | if b!=0 (it is in flash), then skip
jr nz,sdelarc ;/
bcall(_DelVar) ; delete variable only if in RAM
bcall(_DelVarArc) ; delete variable archived or not
pop de
inc d ;\
dec d ; | if d=0, then we don't need to recreate the equation var
jr z,notequvar ;/
bcall(_Create0Equ) ; OP1 destroyed, OP4 has variable name
bcall(_OP4toOP1) ; restore OP1 ^^
pop bc
pop af
inc a
cp b ; b holds the end value
jr nz,deletevarloop ; if we arrived b, then return

; ld hl,OPFomarts
; rst 20h ; rMov9ToOP1 ; OP1 is variable
; .db RealObj,tA,0,0,0,0,0,0,0
; .db CplxObj,tTheta,0,0
; .db RealObj,tVarLst,tL1,0
; .db CListObj,tVarLst,tL6,0
; .db MatObj, tVarMat, tMatA, 0
; .db MatObj, tVarMat, tMatJ, 0
; .db EquObj, tVarEqu, tY1, 0
; tY1 to tY9 and tY0, tX1T to tX6T, tY1T to tY6T, tR1 to tR6, tun, tvn, twn
; if graph equations do not exist, TI-OS will crash
;delete with bcall(_DelVar) and bcall(_Create0Equ)
; NewEquObj, what it does???

;clear GDBs, Pics, Strs


 .echo "code size: ",cleanupBASICvarsend-cleanupBASICvars

EDIT: rewritten post with recent code

Pages: [1] 2 3