ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: SiCoDe Software Establishes Basmic

SiCoDe Software Establishes Basmic
Posted by Nick on 25 November 1999, 21:12 GMT

Basmic LogoSiCoDe Software has created a campaign to raise awareness about the high quality of many BASIC programs called Basmic. Its aim is "to spread the belief of [its] views through widespread support of [its] views by all major TI-related groups." Basmic would like to ask everyone in the TI community to support the fact that BASIC programs can be created of equal caliber and entertainment value to assembly. We wish both SiCoDe and Basmic well in their future endeavors.

 


The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.


Re: SiCoDe Software Establishes Basmic
Lucas  Account Info

There are a few things that I have tried to do in BASIC that are relatively simple in asm. For all I know, these are either impossible or they would take up a lot of on-calc memory.

One of these, which is to some people the most prominent ability of asm programs, is the ability to animate and use sprites - I've tried this for a couple years with very little success. No matter what, it's always VERY slow and quite memory-consuming. The same goes for grayscale. I tried to master BASIC grayscale for about a week, then gave up after seeing it would be nearly impossible to make it look truely gray. Some assembly programs not only have grayscale graphics but also implement several levels of gray. Now if someone could tell me how these things could be done in BASIC I'd like to know. Otherwise, I'll continue to believe that asm is superior.

     26 November 1999, 05:08 GMT


Re: Re: SiCoDe Software Establishes Basmic
Satan WoRsHiPpEr  Account Info

heres how on a ti-92
store one pic with the part you want gray as black to pic1
store another exactly like it but white instead of black to pic2
then use:
cyclepic "pic",2,1,.5
(im not sure if that code is right)
and run
its grey!
and to make it leveled
add more pics with white and black and cycle them to make it lighter add another white pic
vice versa for black

     27 November 1999, 00:56 GMT


Re: Re: Re: SiCoDe Software Establishes Basmic
Lucas  Account Info

I am using a TI-85, by the way. The TI-92 and -89 have considerably more functions than the 85, as I am aware.

     28 November 1999, 20:30 GMT

Re: SiCoDe Software Establishes Basmic
Cullen Sauls  Account Info
(Web Page)

In my opinion, each language is good for specific things.
I prefer ASM for games because they can draw graphics faster. Also, ASM can delete those damn stat vars on a TI-86 :)
However, I prefer BASIC for programs that require input from the user, such as my quadratic and Homework Tracker programs (which can both be found on my webpage)
If you ask me, the languages arent equal, but neither is superior in every aspect. You just need to try both (and more than 1 measly program, too) and make your *own* decision on which language you prefer to program/get programs from for each subject (i.e. math, games, misc)


PS: Sorry if you're reading this for the second time, but I goofed when I first posted and it got put in the middle of the comment board somehow instead of at the end, my bad.

     26 November 1999, 05:56 GMT

Re: SiCoDe Software Establishes Basmic
Robert Maresh  Account Info
(Web Page)

Is anyone else having this problem when replying to the radio-link news item?

Error: For display reasons, you may not use words in excess of 40 characters in the name, subject, or body fields. If the "word" in question is a Web address, consider specifying it in the URL field and referring to it instead.

     26 November 1999, 06:00 GMT

Re: SiCoDe Software Establishes Basmic
rabidcow
(Web Page)

anything that can be done in ti-basic can be done at the same speed or faster (much faster in most cases) in asm. maybe no one knows how to do it yet, but it can be done.
well written asm programs do not crash. asm requires more complex programming skills, which is why fewer people use it for any system, and why many of the asm programs out there can crash your calc.

i think the main problem here is that a large number of programmers for these calcs are extremely immature and are insistent on proving "i'm better than you" based on whether or not they can code in asm. you silly, silly people!

by the way, sicode people, you need to work on your logic.

     26 November 1999, 06:27 GMT


Re: Re: SiCoDe Software Establishes Basmic
Cullen Sauls  Account Info
(Web Page)

I have 1 comment about this:

"asm requires more complex programming skills, which is why fewer people use it for any system"

The complexity is not why most people don't use it, it's a simple matter of a graphlink. A lot of people don't have a graphlink, and it's pretty pointless to make a game/program you can't put on your calc. Also, the asm language is actually very easy to learn (only about 30 commands...), but can be difficult to find how to use it properly and efficiently. There's also the factor of time. Maybe some people have a graphlink, but don't have the time to learn asm (like if you're in algebra...:) so you program basic to relieve bordom.

That's just my opinion, but everyone is entitled to their own :)

     26 November 1999, 07:56 GMT


Re: Re: Re: SiCoDe Software Establishes Basmic
levine  Account Info

> Maybe some people have a graphlink, but don't have the time to learn asm (like if you're in algebra...:) so you program basic to relieve bordom.

That's great, but do you think those people deserve the same credit as the assembly programmers who spend hours, days, weeks, months, a year? developing games like Zelda 89 and Super Mario Quest and whatnot? No, they do not.

Levine

     30 November 1999, 04:18 GMT


Re: Re: Re: Re: SiCoDe Software Establishes Basmic
Cullen Sauls  Account Info
(Web Page)

I don't think someone who makes a simple program (like 1 day's worth of work) in BASIC does not deserve the same amount of credit for someone who makes a very long and intense game that takes months to make in assembly. BUT someone who spends months making a BASIC RPG deserves just as much credit as someone who spends months coding an assembly game.

     1 December 1999, 05:10 GMT

Re: SiCoDe Software Establishes Basmic
Matt Johnson  Account Info
(Web Page)

Hmm, this article is one of the most ridiculously ignorant thing I have read in awhile.

I think this all stems from simple jealously. Assembly is very complex, and I think people get upset because they can't easily program the higher caliber language. BASIC has only recently become a useful language for a few simple PC tools or server side scripting. As for a platform as slow as the TI-8x, assembly language is the only plausible language to make a fairly fast and enjoyable program for the TI-8x calculators. If SiCoDe took the time and effort to learn assembly, they would see the obvious advantages to this language for their target platform.

This is not BASIC bashing, I wouldn't bash a language my job pays me to program for ASP's or VB, but there is just no comparison. The Z80 is one of the easiest processors to learn assembly, so if you really want to understand how a TI calculator works, you learn assembly language.

It is hard to compare two languages until you have programmed both. It is as simple as that.

Don't feel bad, I blame this all on AOL.

     26 November 1999, 19:18 GMT


Re: Re: SiCoDe Software Establishes Basmic
ComputerWiz  Account Info
(Web Page)

I am a member of sicode and i have taken the time to learn at least most of asm.... i didnt like it.. beacuse of theses reasons

1) It crashed my calc so many damn times while i was programing in it

2) It can sometimes be hard to find where the probles are in your code

3) it can take 4 times as long to create the same program than in basic

4) basic is easier to program.. and the comands usually make sence.. (i.e. StorPic 1 actualy stores the screen to that pic) while asm is more obscure

5) you can program it at school when you have nothing better to do (you can do that with asm on some calcs but the second you make a mistake with your code your ram is erased)

6) basic is easier to learn

7) with the new flash calcs you could screw up your calc permamently with bad asm code

umm cant think of any more reasons ill post more later after i have had some sleep.... its to late at nite to argue

     27 November 1999, 06:48 GMT


Re: Re: Re: SiCoDe Software Establishes Basmic
David Phillips  Account Info
(Web Page)

> 1) It crashed my calc so many damn times while i was
> programing in it

Yes, that happens a lot when learning a new language on a new platform, _especially_ your first assembly language. How many programmer's haven't crashed their calc many times while learning asm? None, I would be willing to bet. You can use an emulator such as VTI so that you don't have to crash a real calculator, and this will speed up development time a great deal. Of course, VTI wasn't around when I learned asm :)

> 2) It can sometimes be hard to find where the
> probles are in your code

Yes. That is a problem with _any_ complex programming language on a complex platform. However, there are things you can do to help you overcome that problem. A good debugger, such as VTI, will greatly help out, as it lets you step through your code, set watches, etc. Good programming practices and incremental testing and debugging will greatly help out as well. And as you get better, you will make less and less mistakes, and will be able to spot your bugs more quickly. Remember, a bug is almost never as difficult to find the second time.

> 3) it can take 4 times as long to create the same
> program than in basic

The same program? Or a similar program? Sure, it might take 4 times as long to program Pac-Man in asm as in basic, but the result will be at least 10-40 times as good. If it's a three line math program, sure, then write it in basic. But if it's a game or anything else complex, the extra time it takes to code it in asm is well worth it.

Of course, a mark of a good programmer is knowing the right tools for the job. Why write web applications in ColdFusion or Perl when they could (conceivably) be faster in C? Because in the real world, time is money, and it is cheaper to buy a faster server than to spend programmer hours rewriting code. But on a calculator, this is simply not the case.

The calculator is one of the last platforms where one can truely optimize code. It would take way too much time and money to push the PC to it's limits and by that time, it's already out-dated. Not true on the calculator, which is one of the reasons it is so much fun to program for.

> 4) basic is easier to program.. and the comands
> usually make sence.. (i.e. StorPic 1 actualy stores
> the screen to that pic) while asm is more obscure

Anything new takes time to learn. Asm can be as obscure or as meaningful as you'd like it to be. You can name your routines, rom and library calls anything you like, to be as obscure or as meaningful as possible. The only things possibly obscure are the instruction mnemonics, which make sense after you've taken the time to learn the instruction set. They are based roughly on English words. If you speak English as a native (and possibly only) language, think about this: there are many, many programmers who do not speak English natively or at all who learn and are very good at asm. Think how foreign it must be to them.

> 5) you can program it at school when you have
> nothing better to do (you can do that with asm on
> some calcs but the second you make a mistake with
> your code your ram is erased)

Very true. But there is a big difference between writing a simple (or even a not-so-simple) game in basic while sitting in some boring class and trying to say that your basic game is as good as an asm game. You can also code asm in class, without the chance of screwing up your calc. How? Simple. It's called paper!

Believe it or not, unlike basic, most of the time spent programming asm is not hammering out code. It's figuring out how to program something, or working out the bugs. A sprite routine may only be 100-200 lines of code, but does that mean you could hammer it out in 5 minutes, and have it working perfectly? Of course not.

Writing asm code on paper is an excellent way to work out an idea, and to write working routines that are bug-free. Of course, you can't be sure that it works until you test it out, but if you are a decent programmer, it's not tough to debug it in your head. It just takes a little practice.

> 6) basic is easier to learn

Yes, it is. Hence why it is called BASIC: Beginners All-purpose Symbolic Instruction Code. It is not meant to be the be-all, end-all language.

> 7) with the new flash calcs you could screw up your > calc permamently with bad asm code

While technically this is true, there has NEVER been a single reported case of this happening. Besides, if you are that worried about screwing up your calc, you can always use an emulator to test your program (as you should be using anyway).

     27 November 1999, 08:39 GMT


Re: Re: Re: Re: SiCoDe Software Establishes Basmic
Andrew Shults  Account Info

I may be wrong, but you could just program it and not run it. But if that is wrong, since I have never programed in AMS. Also I never have time to program in class unlike last year, beacuse the teacher can see every thing that you are doing. I wish that there was a derictory of what peoples school was, so that I cou;=ld see if any one goes to my school. I <BASIC>:goto Bishops in La Jolla CA </BASIC> Good point that people that don't know english would have trouble with BASIC. I would love to learn AMS, but I changed schools and all of my friends still :goto Muirlands and I don't get the tutorials, because I don't have enough time. :(

     28 November 1999, 02:52 GMT

BASIC is never faster!
Ciaran McCreesh  Account Info
(Web Page)

Just to clarify a certain point: BASIC maths can never, ever, ever, ever (etc) be faster that ASM maths on the same calculator if both are written by skilled programmers. How could it be? Anyone that says it is deserves to be hit in the face with a wet kipper, and if they persist with this absurd impossibility they should be forced to use a Casio for the rest of their short, sad lives.

Anything that is run in BASIC has to be interpreted into ASM, therefore it cannot be faster. QED.

BASIC has its purposes. Text based RPGs, maths programs if they have to be written in class (although I usually write even those in ASM, cos I've got an assembler on my calculator and I know _all_ the ROM equates off by heart). ASM also has its purposes. Decent, fast games. Graphics. Programs that will be used many times. Programs that play sound. And so on.

Assembly is not hard to learn. There is no reason that it should ever be any harder than BASIC. It also crashes your calc less (true - see my comment futher up about bugs in various calculators).

Keesh
http://www.asm86.cwc.net/ for a decent ti86 ASM tutorial!

     26 November 1999, 20:10 GMT


Re: BASIC is never faster!
STL137  Account Info
(Web Page)

<<BASIC maths can never, ever, ever, ever (etc) be faster that ASM maths on the same calculator if both are written by skilled programmers. >>

Ah.... but they can be hell to program. Let's see you raise one 300-decimal digit number to the power of another 300-decimal digit number modulo a third 300-decimal digit number in assembler. Ech!

S. "I hate waiting" L.

     26 November 1999, 22:15 GMT

Re: Re: BASIC is never faster!
Ciaran McCreesh  Account Info
(Web Page)

Easy. Floating point format isn't difficult, you can actually get an extra digit accuracy in ASM. There are ROM calls (still 200x faster).

Actually, there is no way of using 300 digit numbers in BASIC. You could store them as 1.23456 * 10^300, but your manual quite clearly states that you only get 13 decimal places of accuracy.

Besides, you rarely need to use floating point in asm.

Keesh
http://www.asm86.cwc.net/ for a ti86 assembly tutorial.

     27 November 1999, 13:43 GMT


Re: Re: BASIC is never faster!
David Phillips  Account Info
(Web Page)

It would be very possible using BCD in asm. It would be nearly impossible in asm on some calcs, without using lots of lists to store the digits, which would be horrifyingly slow. You aren't going to get 300 real digits with floating point numbers in basic, since internally only 14 BCD digits are stored for the mantissa (yes, z80 calcs), with two bytes for the exponent.

     27 November 1999, 20:28 GMT

Re: SiCoDe Software Establishes Basmic
akadajet
(Web Page)

I think it really depends on the programmer more than the programming language. Im a really sucky ASM programmer, but in the past I have made decent BASIC games (I havnt published any of them, because I accidently deleted most of them). So for me (at the moment) Basic is better than ASM. But take a good ASM programmer, then for them ASM is better than Basic.

     26 November 1999, 21:10 GMT

Look at the cause, not the effect
KnightRT  Account Info

From the moment I opened this topic, I knew there was going to be plenty of disagreements about the superiority or inferiority of each language. The point I'm about to state is that you can't make a valid comparison between BASIC and Assembly.


Assembly is the ultimate low-level language. Any lower, and you'd be playing with binary. It is designed to give the programmer complete and total control over the power of the processor. There are no translation layers, no onboard code compilers, nothing to detract from the speed of the processor.

As a result, any assembly code will be extremely fast, and MUCH more versatile than any other language. BUT, because you're using such a low level language, it's going to take a lot more code to do simplistic operations than it would in a higher level language. As a result, assembly isn't the best language for high-level mathematical operations.

BASIC is on the opposite end of the spectrum. It's an extremely high level language designed to provide an easy way to have the processor do what you want it to. As a matter of fact, that is what BASIC stands for;

Beginners All Purpose Symbolic Instruction Code.

Notice the first word; "beginners". BASIC isn't designed for the hardcore user.

Then we've got the second and third words; "All Purpose". It's an easy language created to do everything. BASIC streamlines processes into single commands that would take multiple lines in Assembly.

There are two problems with this:

1. This severely limits the power of BASIC. You lose the versatility of assembly when you program with all-in-one commands.

2. The processor has to convert BASIC back into a language that it can understand. This takes a long time, and the built-in BASIC compiler common to all TI-calculators isn't exactly industrial quality. As a result, assembly programs will ALWAYS be faster than the equivalent BASIC program.


Each language is designed for different purposes. BASIC is an excellent math language. It's easy to program with, it take very little memory to do simple operations, and it's an on-calc tool. BUT, because of the fact that it's a high level language, it isn't capable of being a base for any type of complex graphical program.

Assembly can do anything the processor is capable or powering. It's very fast, very efficient, and very error prone. It isn't designed for the novice user, and, for that reason, is not incorporated into the TI-GUI. BUT, because it's a low level language, bit level graphical operations, and therefore games, are easy to create and perform.

KnightRT

     26 November 1999, 22:56 GMT

Re: SiCoDe Software Establishes Basmic
Rob Hornick  Account Info

Anyone who thinks ASM is inherently a better language than BASIC is just plain WRONG. These people obviously have not ever used Visual BASIC on a computer. While I realize this is not on a calculator, Visual BASIC can do anything that assembly can do... Some examples include:
*color/grayscale (duh!)
*libraries
*the speed difference on a computer between assembly and BASIC is negligible. It is only because of the limitations of the calculator that BASIC programs on it are slow. If given a more capable platform to run on, BASIC programs can be just as fast.

My point is that while I acknowledge that it takes more skill to program in raw assembly than in BASIC or C++ or an equivalent language, these other languages are just as capable. The limitations of the calculator platform should not be seen as a limitation of BASIC.

     27 November 1999, 04:06 GMT

Re: Re: SiCoDe Software Establishes Basmic
Macbeth/PSW  Account Info
(Web Page)

*the speed difference on a computer between assembly and BASIC is negligible. It is only because of the limitations of the calculator
that BASIC programs on it are slow. If given a more capable platform to run on, BASIC programs can be just as fast.

The above statements are even more false than the original premise! Any professional PC game programmer would laugh and laugh if they read what you said - I'm sorry, but Visual Basic, or any other version of Basic is *not* what game programmers use - a combination of assembly and C(++) is what is required to make a commercial quality game. To back up your idea, please provide the name of *any* graphics intensive game on the PC that was coded in any form of BASIC - I really don't think you'll be able to.

     27 November 1999, 05:30 GMT

Re: Re: Re: SiCoDe Software Establishes Basmic
DWedit  Account Info
(Web Page)

Myst.
It was coded in an even higher level scripting language than basic.

     27 November 1999, 20:11 GMT


Re: Re: Re: Re: SiCoDe Software Establishes Basmic
Macbeth/PSW  Account Info
(Web Page)

Myst, while graphically pretty - even impressive - is not *intensive*. Displaying still graphics and the occasional animation is hardly a big job - in fact, it's exactly the one thing that TI-BASIC is okay in, as far as graphics go :)

Besides, while certainly the game structure was made in a very high level language, I'm certain the actual animation routines etc. were *not* made in that language - they were written (probably by another programming team) in C or ASM.

     28 November 1999, 02:06 GMT


Re: Re: Re: SiCoDe Software Establishes Basmic
Biker19

If you are running a version of Visual Basic with a native code compiler (version 5 and better) and turn off as much run-time error checking as it will let you, you can get fast code. Visual basic will increase its current superiority to C++ as soon as Microsoft makes a version that will turn off ALL runtime error checking if you choose to do so. Because of runtime errror checking, any form of BASIC will be slower than its lower-level counterparts.

Runtime Error checking is why TI-BASIC gives you a nice ERR:UNDEFINED or ERR:SYNTAX message instead of a nasty "Mem Cleared"

     30 November 1999, 23:43 GMT

Re: Re: SiCoDe Software Establishes Basmic
ComputerWiz  Account Info
(Web Page)

your right in some respects.. that basic would work better on a better platform... but if basic worked better on that platform so would asm or c++
but asm is still a good language they have overcome many of the boundries of the calc like grayscale and fast side scrollers... basic that uses asm sub routines.. can be very fast (i.e. i am making a notbook program with 2 sub routines.. one that looks for key presses and takes the number assigned to that letter and puts it into X and another that displays text on a screen according to a number in X... these subroutines can be used in things like notepads or other stuff requring text and typing.. it can use the functionality of asm for fast keypresses and the functionality of basic to save the text files easily.. (into a list with the numbers in the list representing the letters) )

     27 November 1999, 12:09 GMT

Re: Re: SiCoDe Software Establishes Basmic
lexlugger

>*the speed difference on a computer between assembly and BASIC is negligible.

It is not. BASIC is a toy-language that will never be nearly as fast as assembly language.

     27 November 1999, 13:23 GMT

Re: Re: SiCoDe Software Establishes Basmic
Matt Johnson  Account Info
(Web Page)

Any well written assembly program is faster than the
C/C++ equavilanet.

Any well written C program is faster then C++.

Almost every other programming language is faster than BASIC.
-----------

"Visual BASIC can do anything that assembly can do"

Except:
- Device Drivers
- Operating Systems
- Direct Hardware Control
- Raycasting
- 3D
- 2D
- Sound
- Multi-threaded
- BIOS

- AOL - whoa, that probably was written in Basic. TI-Basic, in fact. <cough>SiCode</cough>

     27 November 1999, 17:25 GMT

Re: Re: Re: SiCoDe Software Establishes Basmic
biggy SMALLS

Actually, vb can do 2D, and infact 3d... of course, the same argument arises. ASM can do it many, many times faster. Just to clear things up though.

PS - VB has infact been used for Map Editors for commercial games... "Unreal" to name one.
But then again, its just a map editor.

     27 November 1999, 23:40 GMT


Re: Re: Re: SiCoDe Software Establishes Basmic
Biker19

What are you smoking?
Now that VB has a native code compiler, it can do fast games etc. 3d and 2d can be done by accessing the DirectX DLLS. Also you can get ActiveX controls that make DirectX VB-friendly. As for sound, ever heard of Win32.Dll? There is a function call in there that will play wave and midi files
Visual Basic was never designed for creating OSs. It was designed as an efficient Win32 programming environment. That is what it is.
BIOS? Who programs BIOSs other than the people over at Phoenix and Intel?
Can VB do multithreading? You bet. If you dont believe me, get the book "Hardcore Visual Basic"
VB is the best PC programming language out there for everyone except 3D game programmers.
Flames are welcome

     30 November 1999, 23:21 GMT


Re: Re: SiCoDe Software Establishes Basmic
Zeljko Juric  Account Info
(Web Page)

By the way, I want to ask what TI community think about compromise solution: programming iTI calcs n non-BASIC non-ASSEMBLY high programming language like C? I am TI-89 user, and I experimented a lot with TI-GCC compiler for TI-89 which seems to produce a very good assembly code (although TI-GCC has some problems, mail me for more info). My experience is that C programs compiled with TI-GCC are only slightly slower than assembly programs, but programming in C is much faster. I recently made a logic game (Othello/Reversi) in C language (file creversi) which uses a strategy based on a recursive minmax search with alpha pruning. The programming took 2-3 hours of my time, but programming this in assembly would take min 2-3 days (especially recursions in assembler are not funny). So, I want to hear opinions of other programmers about C programming on TI...

I am an experienced assembly programmer in Z80 and Intel 80x86 machine code, and my favourite is assembler (over the BASIC), but I still want to tell one sentence to apologize the BASIC: everybody talk only about game programming. But, who will try to made Symbolic Circuit Simulator in assembly???

     28 November 1999, 09:21 GMT

1  2  3  4  5  6  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer