Author Topic: Axe: a new TI-BASIC-like language for the TI-83+ and 84+  (Read 19317 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« on: March 11, 2010, 05:27:13 am »

Those who are active on Omnimaga forums are probably alerady aware of this, but for those who aren't, Kevin Horowitz A.K.A. Quigibo, who made ticalc front page with Pyoro for the TI-83 Plus 2 months ago, has been working on a new programming language for the same calculator platform: Axe.

Axe is a programming language that is similar to TI-BASIC, but oriented for arcade game development. Unlike TI-BASIC, however, the language is compiled into z80 ASM using the Axe Parser, which is a flash APP where you select the program you want to compile. While it is not as fast as straight assembly, it runs much faster than TI-BASIC. The only current downside is that the compiled programs are larger than the source (unless it contains mostly sprite data). To write your programs, you simply use the TI-83 Plus BASIC editor like if you edited a regular TI-BASIC program. Once you're done, you back up your progress in case you did errors, archive your source (as for today, the parser can compile archived programs), run Axe.8xk, then select your program to compile. Compiling is done very fast. Then you run Asm(prgmLOL. In later versions you will obviously be able to name the compiled file yourself. This is one advantage of Axe: it can be programmed directly on the calculator, and because it uses the TI-BASIC editor, not a custom one, you can even use TI-Graph Link or another PC program editor to edit your code. This also means that you can open your source code in Cemetech's SourceCoder, for easy posting on internet forums.

Another big advantage of this new language is that for a TI-BASIC programmer, the learning curve is quasi-nonexistent. The language main features are so similar to TI-BASIC that in some cases, you may be able to compile a pure BASIC game with Axe without even having to modify a single line of code! That's unless, of course, you venture in the more advanced features, such as sprites, pointers and inline assembly support. There are also differences such as the "Then" instruction not being needed (if present, a compiling error will be thrown), coordinates being inverted for Pxl-On/Off/Change/Test and Text commands and the language supporting 2 bytes integers rather than floating points (which means numbers within a 65536 range with no decimals, but takes less memory and processing power). It is recommended that you know TI-BASIC before learning this language, then read the documentation included with the download.

The other advantage, while not matching the power of pure assembly programming, is the speed. In some cases, your compiled games will run 100 times faster than if they were done in pure-BASIC or with xLIB/CelticIII. The animated screenshots below shows Axe programs in action (most runs at much higher framerate than shown in the animated gifs). Some are animations but most show games in action (that are avaliable for download if you look carefully in the Axe project sub-forum). The framerate is much higher on emulators and on a real calculator.










In the following screenshot, a TI-BASIC program is ran normally, then the code is edited slightly to be compilable with the Axe Parser. After errors are fixed, the program is finally compiled, then the ASM file ran with the Asm() command. Notice the drastic speed difference!

As for downloads, this project has been advancing at a rapid rate compared to many similar projects in the past (such as the defunct MLC) and there are alerady several builds that have been released to public. The latest version, at the time of writing this news article, is 0.1.1, and can be downloaded right here! It includes Axe.8xk, some sample programs including a clone of Game Of Life (shown above), all supported commands list, optimizing tutorials and information about the advanced features. All past, present and future versions can be downloaded in the following topic:

http://ourl.ca/4060/78770#new


The entire project discussion, which started only a month ago but grew at an insane rate and even spawned interest outside Omnimaga, can be found here:

http://www.omnimaga.org/index.php?board=71.0

In the link above you will also be able to find plenty of game demos by the Omnimaga community, including our staff, avaliable for download, lot of help, support and routines. Bug reports are also done there.

Builderboy has started working on a 2D clone of the popular Portal game, but this time in Axe language. His version is called Portal X and can alerady be seen in the screenshots above (3rd row, 1st column). His sub-forum can be found here!

Check for more updates soon and don't hesitate to give Axe Parser a try!
« Last Edit: March 11, 2010, 05:35:34 am by DJ Omnimaga »

Offline mapar007

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 550
  • Rating: +28/-5
  • The Great Mata Mata
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #1 on: March 11, 2010, 10:33:35 am »
Do I see a CGOL program there?

A w e s o m e. Absolutely. Great!

Offline Radical Pi

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1143
  • Rating: +5/-2
    • View Profile
    • RealityRevolution
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #2 on: March 11, 2010, 12:50:37 pm »
I'll never cease to be amazed with the things you people can do with a graphing calculator. If this is what we can do ten years after the 83+ came out, what kinds of things will we be doing after twenty years?
One of these days I'll get a sig I'm really proud of.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #3 on: March 11, 2010, 01:35:09 pm »

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #4 on: March 11, 2010, 03:55:09 pm »
And to think I was going to work on this in secret until I finished a final version... I thought no one would be interested in an unfinished programming language because everyone would just complain about lack of features until the final version anyway.  I was really wrong about that.  I think giving mini releases has helped me get really good feedback and keeps me motivated.

Thanks for the news feature on this!  I hope to have a stabler beta release in a few weeks, as opposed to just an alpha.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #5 on: March 11, 2010, 05:25:48 pm »
Yay!  I can't wait for a stable version to be releases to TiCalc.  The comunity will explode with awesomeness!!

* Builderboy Glomps Quigibo *
« Last Edit: March 12, 2010, 12:14:34 am by Builderboy »

Offline {AP}

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 981
  • Rating: +74/-3
  • I am Webmaster!
    • View Profile
    • Removed From Game
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #6 on: March 11, 2010, 05:34:24 pm »
xD
I just noticed you used Builderboy's and my logos for the article. Nice~

Offline trevmeister66

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1009
  • Rating: +14/-5
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #7 on: March 11, 2010, 06:15:24 pm »
axe is simply amazing... The possibilities are endless, and it's only the early stages. I cant wait to see a beta release!
Projects:    nameless RPG: 1.0%  |  Reverse Snake v1.5: 100%  |  Secret Project: 5%  |  DUNGEON: 70%

My MW2 Blog <-- Please visit :)

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #8 on: March 11, 2010, 07:02:42 pm »
Axe is awesome.  It's really fast and easy to code with.  Also, if this is only an Alpha, then imagine what the full version will have...
Oh, and once you're done imagining, post your ideas here: http://ourl.ca/4057 ;D

SirCmpwn

  • Guest
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #9 on: March 11, 2010, 07:28:49 pm »
*clap* *clap* *clap* *clap*
This is amazing.  You have done a fine service to the community.

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #10 on: March 11, 2010, 10:08:51 pm »
This is an amazing project!

I hope to see people using this very soon.  :)
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Offline AaroneusTheGreat

  • Moderator
  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 287
  • Rating: +26/-1
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #11 on: March 11, 2010, 10:57:45 pm »
Man I'm beyond glad to see something like this. I've been wanting to program more for the z80 calculators (again), and this may be the deciding factor of getting back into it. I've always loved the basic programming language because of it's ease of programming, and I used it for a while, but when I discovered the speed of ASM I more or less abandoned my TI-Basic career (this was before any of the ASM libraries for BASIC came out (I know I'm a dinosaur aren't I?)). (Wow lots of parentheses in this post.)

What this reminds me of is a usable, fast, and simple version of Visual Basic, except for the 83+ series. Also you beat VB because you have a program that makes a single executable file, not a folder of a bunch of objects and crap that you have to sift through to find your executable, or set a setting to make a single file. Excellent work.
« Last Edit: March 11, 2010, 11:00:19 pm by AaroneusTheGreat »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #12 on: March 12, 2010, 12:30:54 am »
And to think I was going to work on this in secret until I finished a final version... I thought no one would be interested in an unfinished programming language because everyone would just complain about lack of features until the final version anyway.  I was really wrong about that.  I think giving mini releases has helped me get really good feedback and keeps me motivated.

Thanks for the news feature on this!  I hope to have a stabler beta release in a few weeks, as opposed to just an alpha.

Well, to be fair, when I first looked at your ticalc profile and saw in your bio that you were working on a project like this, I was very skeptical, because I have been part of the TI community for almost a decade now and I saw how all these projects turned out. Usually, people were just too ambitious and didn't realise how much work it is to work on such thing, so they caused lot of hype on forums and ticalc, announcing a new language for z80 calcs that everyone has been dreaming of, but these people did not even put a single line of code yet! In other cases, the person or one of the team member lost interest halfway through dev (such as with MLC) and the language never took off. As for MLC, on the Casio calcs you can alerady do amazing games, but on TI calcs the language never made it further than a title screen.

In other cases, the language was fully functional and builds were released, but the language, which was advertised as easy as BASIC, was not even easy at all. In some cases (such as TI Power, EZAsm and FastRPL), you still needed ASM knowledge to use them. It completly defeats their point. Notice how we barely see any game made with these on Ticalc.org either (altough maybe there are more and the author didn't give credits).

For BBC Basic, the language is easy, but the editor throws people away. BBC Basic is apparently quite easy to learn and program, though. That's a big plus it has.


Because of all this, when I IM'ed you about Pyoro in January/Feb, I did not really talk much about your language. However, as you talked about it, it became more and more interesting and after noticing you started small then gradually increased the complexity of the project, still making sure you can do it, I became more and more confident something functional and very useful would come out soon. I was happy that you announced the project on forums, since you can get suggestions and it is even easier for people to help in general (like bug reports).

Also, as said, I've been part of the community for almost a decade (specifically 8 years and 8 months, now) and I never saw any previous 3rd party language for the 83+ get this much attention and even hardcore ASM programmers praising it. I guess your language is really what BASIC programmers wanted since the beginning and you finally awnsered their wishes.

It is also the first TI language that attracted me that much so far.

BBC Basic is still quite cool, though. That's another example of language project that was well planned. I guess it probably just miss a syntax similar to TI-BASIC and/or a user-friendly on-calc editor

Offline ACagliano

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 919
  • Rating: +32/-2
    • View Profile
    • ClrHome Productions
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #13 on: March 14, 2010, 03:52:43 pm »
In Axe version 0.1.1, is there support for linking commands? Or if not, when will it be incorporated.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« Reply #14 on: March 14, 2010, 04:35:43 pm »
Not yet, although there is talk about implementing it in later versions.  It will not be for a while however.

welcome to Omnimaga too! :)