Omnimaga

Calculator Community => TI Calculators => ASM => Topic started by: Demon on January 30, 2007, 12:36:00 pm

Title: Developing ASM Programs
Post by: Demon on January 30, 2007, 12:36:00 pm
Would you rather develop programs for ION or MirageOS?

I asked because I was looking in the help browser on Latenite and ION has like only nine routines you can use in your ASM programs so you don't have to spend days writing (and debugging) code to do stuff like sprites and random numbers, etc.

Then I looked at the functions MirageOS had and turns out MirageOS has a crapload of routines - like ~74 routines ranging from strings to pixels to sprites to programs to mathematics and compression and more, and I was like, "Jeez, with all these functions availible in MirageOS, why would anyone want to write for ION anymore?"
Title: Developing ASM Programs
Post by: Halifax on January 30, 2007, 12:41:00 pm
Ion is simple an advanced programmers like it better and also you have a larger target because ION and MOS users can use it but if you only develop for MOS only MOS people can use it not Ion people personally a lot of the routnies that MOS has are crap and I program Ion so... I go with Ion
Title: Developing ASM Programs
Post by: trevmeister66 on January 30, 2007, 01:07:00 pm
hmm, well since i just started learning asm, and that last statement has nothing to do with my choice, so i'll go with ion since it can be in both ion and mos. Maybe you could make one specificaly for each one?
Title: Developing ASM Programs
Post by: Delnar_Ersike on January 30, 2007, 01:48:00 pm
I go with Mirage OS because:

1) It's an app
2) Some programs are named "A"
3) Mirage OS can run Ion programs, but not vice versa
4) It can execute programs that are in the archive by copying them into a temp. program. For Ion, you have to archive/unarchive the programs you want to use
5) I have noticed that having Ion on your calc drains 2k RAM, which limits some programs. Mirage OS does not drain your RAM
6) It has a more user-friendly interface
7) It OS can run BASIC programs

I think that's a long enough list :Dbiggrin.gif
Title: Developing ASM Programs
Post by: trevmeister66 on January 30, 2007, 02:01:00 pm
wow, you just convinced me to go with MOS (actually i use that one on my calc anyways ;)wink.gif
Title: Developing ASM Programs
Post by: Liazon on January 30, 2007, 02:33:00 pm
there's a difference between using the shell and programming for it.

Use MOS to play all your games and all that, but program for the ion shell because then it's compatible with virtually every shell.

Also, most of the MOS routines were for implementing the MOS browser GUI.  they were just nice enough to put in a jump table for anyone to use any of the routines.

However, DoorCS is probably better if you want GUI related routines since it has some mouse routines.  I still probably wouldn't recommend it.

The goal is to get to a point where if you really wanted to, you can figure out how to do anything you want.  If you don't have time, well be glad you've learned enough ASM that if you had time, you could probably write anything.
Title: Developing ASM Programs
Post by: bfr on January 30, 2007, 02:33:00 pm
QuoteBegin-Delnar_Ersike+30 Jan, 2007, 18:48-->
QUOTE (Delnar_Ersike @ 30 Jan, 2007, 18:48)

3) Mirage OS can run Ion programs, but not vice versa

That's not a reason to develop for MirageOS instead of Ion. :Ptongue.gif

Note that Demon is asking which one should he develop for, not which one should he use on his calculator.

I don't know anybody that uses Ion anymore.  But, just to be safe, if your program doesn't need any of MirageOS's routines, I recommend building it for Ion.  If it really needs one of MirageOS's routines, then build it to use MirageOS.

EDIT:  Liazon, you posted right before me.  Just thought I'd mention that.... :lol:bounce2.gif
Title: Developing ASM Programs
Post by: Delnar_Ersike on January 30, 2007, 04:43:00 pm
Well, if you are choosing a shell to developing for, I suggest writing the program for Ion, but making sure you make a Mirage OS version as well (you just need to add some minor stuff like the program icon). And if you are really up to it, make a version for CrunchyOS as well :Dbiggrin.gif .
Title: Developing ASM Programs
Post by: DJ Omnimaga on January 31, 2007, 03:40:00 am
i got for ion, because then your program is compatible with both, not just MOS
Title: Developing ASM Programs
Post by: CureDesu on January 31, 2007, 10:22:00 am
I'd have to agree.  Unless you direly need the MOS functions, go for Ion.  :)smile.gif
Title: Developing ASM Programs
Post by: threefingeredguy on January 31, 2007, 10:44:00 pm
Always Ion.
Title: Developing ASM Programs
Post by: DJ Omnimaga on February 01, 2007, 04:03:00 pm
uhm why was this in off topic discussion?   *moves to calc help and support*
Title: Developing ASM Programs
Post by: elfprince13 on February 01, 2007, 04:18:00 pm
the other thing is ION makes it insanely easy to port to nostub.
Title: Developing ASM Programs
Post by: DJ Omnimaga on February 01, 2007, 04:32:00 pm
true, some ion prgms even work nostub, like galaxian
Title: Developing ASM Programs
Post by: Fallen Ghost on February 01, 2007, 04:35:00 pm
I prefer using neither. Nostub allows you to be run from asm( and from some shells, such as DCS and if you just put an ION header, will be read by every single shell.

It also allows you to be more in control of what the program does and sometimes add functionalities to such routines.
Title: Developing ASM Programs
Post by: Jon on February 01, 2007, 05:05:00 pm
I like to make apps, to tell you the truth.  The only down-side is lack of writeback/SMC.  But if you add functionality of external programs/appvars, you can recreate SMC easily.