I'm going to be doing some copying and pasting from my readme for this because I'm not really a creative writer, so bear with me Wink

Quote:
What is BexIDE?
BexIDE is an integrated development environment meant to help with
opening, editing, and saving of the TI-84 family of calculators'
programs on a computer, rather than one of these calculators by
themselves.


So basically it's my version of TokenIDE. I said this in my introduction post, but I had and have no gripe with TokenIDE. I think it's a great project. About a month or two after I had realized I could transfer my programs from my calculator to my computer (mind you, we're still talking nigh on three years ago), I had the desire to create my own editor for these programs. However, I had no programming knowledge at the time. I tried opening them in Notepad (admit it, you tried it at least once too), and we all know how that turns out. Then (I don't remember when exactly) one day on TI-Calc I saw a link to TokenIDE. I downloaded it and used it and I thought to myself "Wow! This is really cool!" From then until about September of 2011 I had devoted about half of my spare time to try to comprehend file formats and to understand the TIxx Guide. On Dec. 15, 2011 I released BexIDE version 1.0 Alpha (binaries | source; as a side-note: to this date, the binaries have only gotten 2 downloads and the source has gotten 3 haha). Then, after six days of work, I released version 1.1 Alpha (binaries | source). The binaries for that version currently have 25 downloads, and the source has 17 Very Happy it makes me so happy that I've actually created a tool that is at least seemingly helpful to others.

Now with that out of the way, I bring you version 1.2 Alpha (snapshot)! Here's an accumulated list of all of the released versions of what BexIDE has:

    Custom syntax highlighting
    Custom tokens as well as token editing
    Token viewer to view loaded tokens from within the program
    Sprite editor (with insertion; allows for Axe tilemap or bitmap formats)
    Tabs
    Find/replace through all opened documents
    Direct-to-8XP (no need to worry about text files, though there is an Import/Export for them)
    Program manager (edit the name, comment, and the archive and protection flags of all opened documents)
    Picture editor (with tools)
    Completely open-source


Now, this doesn't have all of the features that 1.2 Alpha will have (so I guess this is technically 1.1.5). I also plan to add a tilemap editor, implement text drawing for the picture editor, add auto-indent, and get a new editor that will also work with Mono (right now I use ICSharpCode's TextEditor, meaning this is currently Windows-only :/). I also need to work on my "Replace All" feature because the way I currently do it I get a stack overflow (don't worry though, if you try it and it "breaks" you'll just get a message saying that the operation could not be fully completed.)

Here are the links for version 1.2 Alpha snapshot: binaries | source

Now, to finish off my first post for BexIDE here on Cemetech, I'd like to include a little snippet from the readme Wink
Quote:
After the alpha versions are completely done and bug-free, you're going to want
to use BexIDE for your programs. Not only because it will be a pretty advanced
development environment, but also because in the beta versions, I will add a
feature that will convert your programs into your choice of Visual Basic or C#
source code and then I will use .NET's building tools to compile those sources
into .NET computer applications. That's right. You will be able to run your
programs on the computer without the use of an emulator! I have a big plan for
all of this as well. You'll be able to create your own libraries to add
your own functions to the compiler, too!

That's right. When my alpha versions are completely done and bug-free, I'm going to let the user be able to turn their games or utilities (most likely with modified syntax like Axe) into complete and working .NET-based applications!
I'm sure you've seen SourceCoder before, and since I'm lazy, could you summarize in a sentence or two what similar features and different features this has versus SourceCoder? I'd also love to see some screenshots; eye candy is always interesting.
Fulfilling Kerm's request would definitely benefit your project -- though just reading about all the features (all the tools, and especially the .Net conversion) makes it sound pretty awesome!! Very Happy

...Let's see some pictures too (even if they are mock-ups of future designs)
Hmm... Let's see. SourceCoder supports all/most of the .8** files plus Casio Prizm files, while BexIDE only supports .8xi and .8xp. However, I mainly intended this to be an Axe environment with support for third-party libraries such as DoorsCS, Xlib, Celtic 3, etc. SourceCoder optimizes while BexIDE opens them as-is. SourceCoder auto-indents, which I plan to add. They both colorize syntax, with BexIDE's being customizable. SourceCoder can convert images, while BexIDE currently only supports .8xi. However, I plan on adding support for all image types that .NET supports, such as TIFF, JPG, PNG, GIF, BMP, and heck, even ICO if people want it. BexIDE also has a sprite and image editor, with a visual tilemap editor coming. Sorry, that was more than a sentence or two, but those are all of the differences Smile

Now for that eye candy:
Main editor


Sprite designer


Picture editor


Token viewer
One thing that I would find really useful would be a simple preprocessor for defining macros, including files, and such.
Hmm... I know this is really sad, but what exactly is a macro? I've been programming (on the computer, nonetheless) for over two years and I still don't know what a macro is.

As for including files, do you mean it would kind of be like a library system such as C++'s? Where you have some code in the file, you include it, and I'd stick it at the end (or beginning) of the code that you want said file included in?
BlakPilar wrote:
Hmm... I know this is really sad, but what exactly is a macro? I've been programming (on the computer, nonetheless) for over two years and I still don't know what a macro is.


A macro is like a function, you can think of it like that; but at compile time, it's replaced by the code that defines it. Example:


Code:
.define apple(a, b, c) ld d, a + b + c

apple(1, 5, 9)


the code, after the pass that replaces macros, would be like this:


Code:
ld d, 1 + 5 + 9
Ahh, okay. Wow. That covers something that epic7 recommended I try doing- tokens with arguments. Now would that just go through the code and replace all instances of "apple(1, 5, 9)" with "ld d, 1 + 5 + 9"?
BlakPilar wrote:
Ahh, okay. Wow. That covers something that epic7 recommended I try doing- tokens with arguments. Now would that just go through the code and replace all instances of "apple(1, 5, 9)" with "ld d, 1 + 5 + 9"?

Yes, a macro is a straight up "replace this with that" to the compiler, so it's as if you just typed it that way in the first place. The only down side is that it does this unintelligently (e.g. does not check types or even that you are using it PROPERLY), and sometimes this can even result in compiler errors which act as if you coded it that way yourself. ... Of course, the plus side is obvious Smile ...(my solution for OPIA is to just use fully-qualified functions, but allow them to be inlined, meaning that the compiler evaluates it right away)
Well technically, it doesn't matter much to me if the user is using the macro correctly or not. Even when I do the .NET portion, the built-in C#/VB compilers (which I will be using) check for errors and return all of them, which will also be great for debugging (or I could just, you know, save the converted code...).

So it seems like I'm going to add a preprocessor for including files and importing/defining macros. I also received two requests on Omnimaga: make the sprite editor capable of making sprites larger than 24x24 and add file support (drag and drop / Windows' "Open with..."). The sprite thing was more of me being lazy than anything else because I hand-made the control and it breaks if you try anything larger than 24x24, and I didn't figure anyone would use a bitmap that large... Guess I was wrong haha.
So, I've updated the snapshot. Sprite editing now goes up to 256x256, but gets a bit laggy after 104x104 (and if there's an error it gets logged). You can also set BexIDE as the default program to open .8XP files and they will open in BexIDE!

New links: execuatble | source (links are also updated in my signature)
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement