Author Topic: My Introduction  (Read 17072 times)

0 Members and 1 Guest are viewing this topic.

Offline Reptic

  • LV0 Newcomer (Next: 5)
  • Posts: 0
  • Rating: +3/-0
    • View Profile
My Introduction
« on: November 12, 2010, 01:13:02 pm »
Hello, this is my first post so I decided to start with an introduction. I'm new to calculator programming and graphing calculators in general - I just bought my first calculator, a TI-84+, a few days ago. However, I quickly became interested in making some games for it. That's how I discovered Omnimaga. I have some experience with BASIC (computer BASIC, not TI), and a bit of experience with a few scripting languages (like C# and AS3), however I would still consider myself somewhat of a novice when it comes to programming. After looking over some posts on this forum, I have a few questions I hope someone can answer:

1) I've been reading a lot about shells for calculators, like MirageOS. What exactly do they do, and are they necessary? And if so, which one is most recommended?

2) As mentioned, I'm interested in learning to program my Ti-84+. Where exactly should I begin? I know there is Ti-Basic, Axe, and ASM, and I'm interested in learning ASM, but I know I should start with Basic or Axe. Which one would do you guys think I should begin with? I have some BASIC experience, if that would help. Also, what is the best tutorial/learning resource for the language advised?

I know this probably seems like a lot of questions, but like I said, I'm new to all of this, so I can't help being curious  :P

Thanks in advance.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: My Introduction
« Reply #1 on: November 12, 2010, 01:14:27 pm »
MirageOS/DoorsCS/Ion are shells that can be used to open programs that are transferred to calc or made in-calc.

Start with Basic, do a few basic programs to learn, then go to Axe :)

Offline Reptic

  • LV0 Newcomer (Next: 5)
  • Posts: 0
  • Rating: +3/-0
    • View Profile
Re: My Introduction
« Reply #2 on: November 12, 2010, 01:21:08 pm »
Is it not possible to open user made programs without the shells?

Also, what are the best Basic tutorials/resources?


Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: My Introduction
« Reply #3 on: November 12, 2010, 01:22:49 pm »
Welcome to Omnimaga, Reptic! Don't worry if you're new to calcs. You'll learn fast :D BASIC is pretty different from TI-BASIC, but it's a really simple language. Play around (thankfully, there's almost a 0% chance of crashing your calc with it).

For shells, they're mostly to run ASM programs. Without them, you'd have to run them with Asm(prgmNAME). Shells basically give you a nice GUI and a lot of other features, and especially libraries. A lot of ASM games are made for those libraries, so you'd have to download a shell to run them.

I'd recommend MirageOS if you want something (very) functional and compatible with almost all programs that's nice and small. But if you want other special features like xLIB compatibility (for lib-enhanced BASIC) and fast editing, try DoorsCS. It's compatible with all programs MirageOS can run and some more, too, at the cost of being 3x larger.

As for languages, definitely start with BASIC. As I mentioned, it's pretty different from all comp languages, but it's got a easy syntax. You should be really comfortable with your calc before you start trying stuff with Axe (and direct ASM).




Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: My Introduction
« Reply #4 on: November 12, 2010, 01:23:26 pm »
Is it not possible to open user made programs without the shells?

Also, what are the best Basic tutorials/resources?



If I have an Axe or an Asm program it will be easier to open it using a shell, instead of using the command:

Code: [Select]
Asm(prgmPRGMNAME
If you have a TI-Basic program it can be opened using both the Prgm Button and the Shell (DoorsCS is what I use).

The shell organizes the file in a decent way while the PRGM button is just a number based menu complicated to open files when you have +15 programs (which you will have if you start programming and playing).

« Last Edit: November 12, 2010, 01:40:43 pm by ScoutDavid »

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: My Introduction
« Reply #5 on: November 12, 2010, 01:25:42 pm »
For tutorials, I personally don't think you need any for BASIC. Just play around :)

There are some pretty useful tutorials for specific stuff (like tilemapping) here. And then there's TI-BASIC Developer, which has a lot of really useful info.

Is it not possible to open user made programs without the shells?

Also, what are the best Basic tutorials/resources?



You definitely do not need shells for BASIC programs (unless you're using libs, but you should get comfortable with pure BASIC first). Running a BASIC program from a shell is kinda overdoing it since you can just run it from your homescreen.

I write an Axe program:
Code: [Select]
:.HEWORLD
:Disp "Hello World

I convert it to Asm using Axe Application.

This program can be opened using a shell, it may not be, but shells are better organized that the Program Button of the calculator.

Check TI BASIC Dev for TI BASIC TUTORIALS.

Try BASIC first. No compiling or shells needed.
« Last Edit: November 12, 2010, 01:32:56 pm by Deep Thought »




Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: My Introduction
« Reply #6 on: November 12, 2010, 01:28:35 pm »
Code: [Select]
Disp "Hello World
Code: [Select]
1->A
Disp A

Code: [Select]
"Hello"->A
"World"->B
Disp A,B

Code: [Select]
Prompt A
Disp A

Code: [Select]
Promp A
Prompt B
Prompt C
Disp A*B*C

Code: [Select]
Disp "CIRCLEA AREA"
Prompt R
Disp RR(pi)

These are a few ti-basic BASIC codes, "->" means the STO symbol, the key for STO, and there's always a ":" before lines :D

Oh, and (pi) stands for pi, the key for pi

Good Luck

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: My Introduction
« Reply #7 on: November 12, 2010, 01:30:16 pm »
Code: [Select]
"Hello"->A
"World"->B
Disp A,B

That will definitely not work. Strings must be stored to strings (they're in VARS > 7:String...).




Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: My Introduction
« Reply #8 on: November 12, 2010, 01:34:09 pm »
It won't work? ??? Really not in Basic? Hahahahaahahahhaahahahah I always thought so, and I've been programming 1 month without knowing that, how stupid!

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: My Introduction
« Reply #9 on: November 12, 2010, 01:36:41 pm »
welcome on these forums, Reptic! Good luck on learning BASIC! it's as already has been said, just play around with it! And don't doubt wheter you should post your questions/problems on omnimaga or not, we'll certainly help you!

@ScoutDavid:
LOL, that's pretty strange ;D
« Last Edit: November 12, 2010, 01:37:51 pm by LordConiupiter »
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: My Introduction
« Reply #10 on: November 12, 2010, 01:39:55 pm »
welcome to omnimaga!

as deepthought pointed out, you definitely want to check out TI Basic Developer (TIBD is what its usually referred to). a ton of neat optimization tricks can be found there for TI-Basic. As for whether to learn BASIC, Axe or ASM, i'd definitely suggest either BASIC or Axe to start. if you're confident with data and pointers in C/C++, i'd go with Axe because Axe has those concepts. if you are shaky with dealing with raw memory and the terms byte, bit, nibble, data pointer, word, hexadecimal and binary aren't well-defined in your head, i'd definitely go with TI Basic. with Axe you can easily clear the RAM of your calculator. Axe is the type of language that gives you access to several KB of memory to play around with however you choose and assumes you generally know what you're doing. TIBASIC will nearly never crash (you'd have to be trying really hard to make it), and all programs can be interrupted by pressing [On].


Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: My Introduction
« Reply #11 on: November 12, 2010, 01:48:01 pm »
Welcome to Omnimaga! As usual, here are some peanuts ;D


Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: My Introduction
« Reply #12 on: November 12, 2010, 01:52:42 pm »
Welcome to Omnimaga! As usual, here are some peanuts ;D

Heh, wait till yunhua98 gets here. He'll give you some interactive stuff ;)




Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: My Introduction
« Reply #13 on: November 12, 2010, 01:54:08 pm »
Hi!  Welcome to Omnimaga.

1) I've been reading a lot about shells for calculators, like MirageOS. What exactly do they do, and are they necessary? And if so, which one is most recommended?

Shells are not necessary to program, but they are necessary to play some games.  If you go on ticalc.org, you'll see that there are a bunch of 'Ion', 'MirageOS', or 'DoorCS' assembly games.  These are different from normal assembly games - you just use the command 'Asm(pgrmTHEGAME)'.  However, if you try to use the 'Asm( command to run, say, a MirageOS game, it won't work.  You have to use MirageOS.  If size isn't a concern for you, I'd recommend DoorsCS - it's in active development, plus it can run nearly any game in existance.

2) As mentioned, I'm interested in learning to program my Ti-84+. Where exactly should I begin? I know there is Ti-Basic, Axe, and ASM, and I'm interested in learning ASM, but I know I should start with Basic or Axe. Which one would do you guys think I should begin with? I have some BASIC experience, if that would help. Also, what is the best tutorial/learning resource for the language advised?

I know this probably seems like a lot of questions, but like I said, I'm new to all of this, so I can't help being curious  :P

I would recommend holding off on assembly and Axe for awhile - just spend a few weeks hanging around the forum, and asking questions.  Once you think you have a fairly solid understanding of how the calculator works, you should then start Axe or Assembly.
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline Reptic

  • LV0 Newcomer (Next: 5)
  • Posts: 0
  • Rating: +3/-0
    • View Profile
Re: My Introduction
« Reply #14 on: November 12, 2010, 01:55:24 pm »
Wow, I left for a short time and so many replies! Thanks everyone for the help (and JosJuice for the peanuts). I will definitely start out with Ti-Basic, and use TIBD for some help. I'll try and play around with it to see what I can come up with. My only worry was that I would be unsure as to what certain commands do without documentation, but I suppose that's what experimentation is for :). As for the shell, I'll start out without one, but after working a bit with my calc I'll look into MirageOS or DoorsCS.