Welcome to ClrHome
Star Trek updates #2 Oct 15
by ACagliano ClrHome Staff
Progress on Star Trek comes slowly, but surely. Coding is already done on a good portion of the client side program, and a list of message types and configurations for packets the server sends and receives has been prepared and uploaded to me and Sorunome's shared project directory.

Some screenshots for the program are below.

Additionally, I will be implementing an automatic update function in the game. Every time your calculator connects to our server, it will silently check for what the latest version we have posted is of the calculator-side program. If our version is newer than yours, you will be given the option to update the program, right from your calculator, right there. No downloading the game, transferring it yourself. All automatic. Of course, all updates will be made available for manual download on the project page as well, for those who don't already have the game on their devices.


The screenshot of the splash screen for Star Trek MP.


The screenshot of the program icon for Star Trek MP.

Star Trek Project Page
http://clrhome.org/startrek
Star Trek updates Sep 30
by ACagliano ClrHome Staff
Many of you probably thought this project was dead. Well, psyke. It is alive and well.

Star Trek's entire conceptual design has been given a complete overhaul. Sure, the game will still run as you would expect. But, under the hood, something a whole lot different will be going on.

Instead of having each individual unit do all of its updating and incrementing, then sending transmissions to every single calculator on the network, which would require finding enormous amounts of memory to store usernames and calculator ID's (similar to an IP address, but utilized by CALCnet to identify a calculator), I have decided to put most of this processing on the server. Every calculator communicates only with the server, not with another unit. The server handles figuring out what data it should respond with, or what to do with the transmission.

To exemplify this, assume that I have sent off a message to the server, asking for the other objects around me on the server. The server, in turn, responds with only the objects in my sector (immediate area). This includes terrain. This prevents the calculator from becoming overloaded with all that data for objects so far away I really don't need info on them.

On the visible side, there are some notable new features planned. First and foremost is existence of user accounts. Each player must have an account in order to join the server, for the purpose of storing save files. Players can log in, register, and change their username and password from right on their calculator. Additionally, instead of holding game saves in an appvar on your calculator, save files are kept on the server, associated with your account. When you join the server, your save file gets downloaded to your calculator. When you disconnect, your calculator uploads the most recent save data back onto the server. This is another attempt of mine to minimize the memory used by this game.

Last but not least, welcome to the dev team Sorunome, and thanks a million for your assistance with this project. :)
MaxSec screenshots Jun 27
by Deep Thought ClrHome Staff
The image here is a mockup of the title screen to the upcoming game Maximum Security. As with a lot of other things in the game, the highlight around START will be another unnecessary animation in the actual program, which I'm working on now. This idea got big fast—it was originally meant to be a quick little project to prove I'm still alive, and here we are a year later!

As promised, here's a screenshot of MaxSec. (Don't you just love CamelCase?) It's not entirely new (having been taken two weeks ago), but it's certainly an update on the last one.

Since there's a lot going on in this screenshot, here's a quick run-through of the things that the player encounters in traversing the demo level:

  • Water starts pouring into the upper part of the level.
  • Turret (aimed at the player) launches a bullet.
    • Bullet strikes a boulder and bounces off.
    • Bullet strikes a dynamite crate, which triggers a chain reaction, clearing the level.
    • Water from upper part of level can now flow down the new corridor.
  • Player pushes boulder onto turret so it's safe to walk by.
  • Player collects coins, opening the exit door (which changes visibly).
  • As player is underwater, his breath count (white "health" bar on the right) drops bit by bit. (Kinda proud of that bubble animation myself.)
  • As water covers the entire map, it leaves some air pockets which player uses to replenish his breath count.


The water behaves a bit oddly in this level, but anything I try to fix the water algorithm seems to leave me with a fantastic RAM clear. I'll probably just design levels in a way that it doesn't look quite as odd, or call it something other than water. Why not acid?

So here it is—our latest major project. More screenshots are yet to come as the remaining parts of the project get finished!
A new ... unit converter? Jun 27
by Deep Thought ClrHome Staff
Before we get any further, here's the download link. (It's a multipurpose unit converter, in case you didn't get the hint.)

Look, I know there are tons of helpful little programs on ticalc.org, and many of them do exactly the same thing. I realize that unit converters are a lot like the many other types math/science utilities swamping ticalc.org. Just like quadratic solvers, these things have so burdened the famous calculator file archive that there's a whole category dedicated to them, all in TI-BASIC and all for the TI-83/84 Plus series. (For the record, I have a quadratic solver there too—click if you dare.)

But this one is hopefully different. It was made to pack as much stuff in as small a package as possible, so here's a single, 2,977-byte program that has 132 units spanning 15 different categories:

  • Length
  • Area
  • Capacity/volume
  • Mass
  • Speed
  • Pressure
  • Energy
  • Power
  • Force
  • Temperature
  • Charge
  • Current
  • Radiation
  • Time
  • Angle


Thanks to math, I can claim this program supports 1,170 different conversion functions in less than 3 KB. And there you have it—yet another unit converter to grace the halls of ticalc.org.
Maximum Security Jun 13
by Deep Thought ClrHome Staff
If you've seen any list of the games I've worked on, you know that what I really love making are puzzle platformers. They're even more fun to make in Axe, where there's plenty of speed available for a nice physics engine.

Well, despite the Contra project still being in a sort of limbo state, we announced a new game tentatively called "Turret" back in January. It would be the dogpile of all that's fun to work with in a platformer, with features such as water levels, dynamite, and movable boulders. And turrets—lots of them, and lots of bullets to come with them.

But "Turret" was just a working title, and it didn't come with a decent storyline. Thanks to codebender on Omnimaga, however, the game now has both a real title and a real story!

Trapped in a maximum-security prison against your will and without knowing why, your fate is changed by an explosion that rips open your cell. All of the guards and other inmates have mysteriously disappeared, leaving you alone to find your way out of the compound.

Passing through room by room, your journey is fraught with dangerous equipment and materials once meant to keep prisoners in check. You must navigate around vaporizing laser arcs, falling stacks of boulders, exploding crates of dynamite, gun turrets that track your movements, and dangerous liquids pouring through the walls and threatening to drown you.

There are no weapons or tools at your disposal. All you have is your own ingenuity; use it to manipulate the hazardous equipment in each level to serve your own ends, to help you escape. Find your way through the corridors and discover what happened to the compound—and why you were taken there in the first place.


Fresh animated screenshots of Maximum Security are coming soon!
BBify'r to HTML! May 12
by Deep Thought ClrHome Staff
While BBCode may be one of the most popular languages for forum post authoring, not everyone posts their code on forums. Since HTML is a much more widely used markup language for the web (and BBCode compiles to HTML anyway), making the BBify'r prettify your code as HTML has been one thing I've been planning to do for a while.

The feature has finally been added: the BBify'r project, which was first announced two years ago as a webapp to syntax-color your calculator code to as BBCode so you can paste it in a forum, now generates HTML (and a live preview!) so you can paste it anywhere else. It works with all the languages the BBify'r has always worked with. Z80 assembly, Axe, TI-BASIC, and Lua are there by default, but you can always easily create your own language rules using the BBify Builder tool (which I apparently forgot to post a news about).

The only problem now is that the name of the webapp no longer means anything. It's not just BBCode anymore!
Convert/edit lists and matrices May 6
by Deep Thought ClrHome Staff
Our online TI-BASIC/Axe/Grammer IDE just got a major update. Among the new features are editors for 8XL (List) and 8XM (Matrix) variables, as seen in the screenshots on the right.

As always, you can either drag-and-drop an appropriate file into the webapp or create a new list or matrix using the + tab. Both editors take the form of a simple chart, allowing you to edit list/matrix elements individually or the entire structure at once, using TI-BASIC syntax (such as {1,2,3,4} for lists and [[1,2][3,4]] for matrices).

Try it out here, and if you have any questions, bug reports, or suggestions, feel free to post below!
Firewall for CALCnet Apr 17
by ACagliano ClrHome Staff
It has been a while since Kerm Martian revolutionized the Texas Instruments calculator community with his CALCnet software and the global CALCnet protocol, which was the first step towards allowing TI programmable calculators to use the Internet. Several months later, CALCnet is the most widely used networking protocol for performing calculator-to-calculator communication, as well as calculator-to-Internet communication. It has been used in games (like "Obliterate"), chatting programs (like "CHAT"), a fledgling browser ("Gossamer"). Many more are on the way.

Kerm has announced that he intends to redesign CALCnet to make it more feature-rich and to possibly remove the need for software to be running on a computer. Currently, you need to have a program running on your computer while your calculator is plugged in to access the Internet. While CALCnet currently has no vulnerabilities, when these changes are made, some may be introduced that would allow others to send "malware" to your calculator.

Why, you may ask, would someone do this? Well, there are some people who would do it just because they can. Or a jealous classmate who wants to do better than you on a test and decides to install something that will mess with your calculator's mathematical ability (changing the number of decimal places it rounds to, or making all answers off by a certain percentage). For your information, these types of "malware" already exist, as pranks, but require physical access to the calculator you want to install them on. But CALCnet may change that as it develops. Every new technology can be used for evil.

So, I endeavored to create a Firewall and Malware detector. This program will intercept CALCnet packets and check the sender ID against a list of blocked calculators. If the sender is on the list, the packet gets cleared immediately and never reaches your calculator. For now, you will need to add and remove entries from your block list manually, but when I learn about the new CALCnet design, I will endeavor to allow this program to automatically connect to CALCnet, and download a block list filled with "known threats".

My program will also have a malware scanner. "Prank" programs that can actually cause your calculator (or your grades) harm, such as the OFFBY1 virus (a program that makes all answers be off by plus or minus 1), will be scanned for, as well as tidbits of code that can cause physical hardware damage. These will be included in a "virus definitions file" that comes with the program. For now, you will need to check the site for updates yourself, but again, once I learn about the new CALCnet design, I will endeavor to have this program update the virus definitions automatically.

Check out my project page for more: http://clrhome.org/blastav/.
Image editing in IES Mar 30
by Deep Thought ClrHome Staff
As we said in the previous post, the first items planned for the Integrated Editor System were ways to edit image data in the webapp. That's the second major stage of the project, and it's finally finished. You can now upload, convert, and edit your sprites and images directly in the online TI-BASIC/Axe/Grammer editor!

The new features actually come in two forms. The first is an integrated sprite editor, allowing you to design your hex sprites on-the-fly. It's like a simplified version of the Pixelscape sprite editor, except that instead of showing you the code for the sprite, the code in your program is updated as you edit. Just put your cursor inside some sprite data and the sprite editor pops up automatically to show you what that sprite looks like. (It only works in Axe mode right now, but will be added to the Grammer mode soon.)

The second form is a full converter and editor for 96-by-64 images. Like with programs, you can drag-and-drop an image file of any popular image format—GIF, PNG, JPG, or 8XI (Picture variable)—and IES will open it for editing, scaling it down and converting it to calculator-friendly colors if need be. You can also create a blank image by selecting "Image" after clicking the + tab.



If you have images to convert for use in a TI-BASIC project or just to load onto your calculator, this is where IES comes in handy, with the added bonus of being able to edit and preview the converted Picture variable in two, three, or four levels. This is an image that was scaled down from 160 pixels wide and high.

Currently, the image editor is very simple. The only editing "tool" available is a pen tool that draws broken lines. Better generic image-editing tools such as rectangles, ellipses, and flood-fill are planned soon; after all, shouldn't an online image editor have at least the features of a calculator program?
Game needs a name Jan 18
by Deep Thought ClrHome Staff
It's been a while since I've finished a calculator game, and it's time to fix that. There's a game in development that's had some progress, but there's a problem—I'm not entirely sure what I'm even doing with it.

Sometimes I have an idea of what to make (such as a complete ripoff of an existing game on a different platform), and sometimes I stuff as much stuff into a program as it can hold and hope it comes out looking like some sort of game. This is the second case. I'm tentatively calling this project "Turret" because turrets will be a central factor, but it sounds pretty lame.

Here's the gist of the game. You're trapped in a series of rooms, and you want to get out through a series of doors. There are also turrets programmed to shoot at you so you don't get out.

You have no weapons of your own, but you can always try to get the turrets to shoot you in a direction you want, triggering things like dynamite crates and boulders. There are some other features that might come in handy, or kill you:

  • Water levels (and swimming). There will likely be a breath count, where the player dies if he stays underwater for too long.
  • Zappers. Energy fields. Instant death. Whatever you want to call it.
  • Dynamite crates are triggered by turret bullets and can destroy nearby steel crates (but not solid blocks which form the wall).
  • Boulders to push around. Bullets bounce off of them in various directions, which adds a skill factor, I guess.
  • Coins. Collect them all to open the door!


Each of these is already partially implemented. A full level editor is also planned (and mostly complete, in fact). All this, and I haven't even figured out what the point or name of the game will be.
New online editor in beta Jan 17
by Deep Thought ClrHome Staff
For me personally, no code editor will ever beat programming with a calculator in my hand. But with the ORG project I've learned that sometimes computer-based tools are more helpful. Since the token-based languages, such as TI-BASIC, Axe, and Grammer, are even more popular ways to develop programs for calculators, I've decided to work on a project to bring them online too, in a full-featured programming environment.

The Integrated Editor System will be a complete IDE for TI-BASIC, Axe, and Grammer projects. (Other languages may be supported in the future.) Though there are still many things to be added, the features I've been testing for the Axe mode already promise to make IES a far more ambitious project than even the ORG assembly IDE.

The structure of the app takes a significantly different approach from ORG. Instead of keeping a simple list of files, IES allows you to manage multiple projects, each of which can be marked for any of the three languages. Each project can then contain as many files as needed, organized by tabs similar to ORG's. To make it easier to start using the IES editor, you can just drag-and-drop your current project directly into the page—whether it's a text file, 8XP program, or even a ZIP archive!

The Axe mode already features full syntax highlighting; TI-BASIC and Grammer will sport the same colors as soon as I finish the highlighting rules for those languages. In all three modes, IES has full autocomplete and syntax hinting features (providing a tooltip to remind you of the order of arguments for a command), with data pulled from the Catalog project.

Here's what it looks like for TI-BASIC:



Of course, you can do the same thing for Axe:



And Grammer:



So what comes next? Here are some things that are definitely planned for the near future:

  • Inline sprite editor (think stripped-down version of Pixelscape)
  • Full image editor for 8XI and other image files
  • Sharing code through the BBify'r
  • Editors for real- and complex-number, list, and matrix variables
  • A hex editor for binary files (such as appvars with data)


I'm still building up my list of planned features, so if you have any suggestions, please let me know!
ORG autocompletes! Jan 12
by Deep Thought ClrHome Staff
Long story short: the ORG Z80 assembly IDE now features instruction autocompletion!

One thing that makes an editor project interesting is that when I'm working on it, I'm already working in an editor—the IDE is being built inside another IDE. What makes this situation convenient is that the little tools and tweaks I've grown so used to suddenly become inspiration for features to add to my own project.

That was the case for syntax autocompletion. With PHP naming convention being the monster it is, typing the first few letters of a function name and choosing from a list of options had long since become a familiar task. Since only certain combinations of arguments are allowed for each mnemonic in Z80 assembly, a similar feature would be even more useful for a Z80 IDE.

When you type the first part of an assembly instruction, ORG now displays a list of all valid instructions starting with that mnemonic. You can then select the option you want to avoid invalid parameters and save a bit of time. If the instruction contains an immediate value, the cursor will also move to its position automatically. (You can also trigger the hinter manually with the Ctrl-Space shortcut from Eclipse.)

Other changes made to the project over the past few months include numerous bugfixes thanks to bug reports from our users, as well as some design improvements that should make the editor load noticeably faster. If you have a suggestion or feature request of your own, feel free to comment below, post in the relevant threads, or bug me directly through email. The ORG IDE is only the first of a series of planned editor webapps for calculators here, but it will be a very active project for a while yet!
Fruit Ninja and 2012 Jan 1
by Deep Thought ClrHome Staff
That's another year over and another apocalypse survived. Happy New Year everyone!

For me personally, this year has been amazing. So many remarkable events have turned up in my life over the past few months (in a long chain of dumb good luck) that I can't help but feel 2013 will be simply awful in comparison. But since this place is all about calculators, I'll just stick with that part of my life. There's a lot to talk about even then.

First of all, there's Fruit Ninja. I posted about it before, but there's a lot that's been left out since. A few days after the ticalc.org feature, some benevolent soul posted my video to Reddit where it had quite a reception. Now it's been hanging excruciatingly close to a million views—one short, odd episode of viralness that I'll probably never experience again.

There are also four new calculators in my collection this year after my trusty TI-83 Plus carried me through five years by itself. They're all charged up and named, and I can't wait to write stuff for them. What else could calculators be meant for?

As I said, I fully expect this new year to feel terrible simply because 2012 was such a blast. But who knows—maybe it'll be decent. Any New Year's resolutions, anyone?

In any case, happy New Year's Day to you all from ClrHome!
An online Catalog Nov 25
by Deep Thought ClrHome Staff
To make it brief, the online Catalog is a new resource that aims to document all the commands and variables in TI-BASIC, Axe, and Grammer. It'll give you the syntax and description of commands as well as the keystrokes needed to access it on a calculator. Anyone can edit it by double-clicking a section.

It also provides an API for other apps to use, available in both XML and JSON formats by appending "?alt=xml" or "?alt=json" to the end. I'll post more about this once I finish up the actual database.

And I'll admit it—at least part of the reason the Catalog project was created at all was my own laziness.

It was while working on the BBify'r for Axe that the idea came to me to create an online reference documenting all the TI-BASIC and Axe tokens. Ideally, such a reference would also expose an API so anyone who wanted to make an application that works with tokens could just query it for information that's always up-to-date. And since that sounded fun, I made it—and then realized that as long as the database didn't actually have any data, no one would ever use it.

But typing out descriptions for all 659 TI-BASIC tokens (yes, I counted) quickly becomes tedious. That's when one of the greatest ideas in business hit me: why don't I get other people to do the boring work for me?

The result was a double-click-to-edit system, something like the Wikipad, designed to entice people to do the boring work in my stead. Of course no one did it (who would?) except a few brave, kind souls who put up a significant part of the list. I tried to start adding some of it myself, but got bored again fairly quickly.

Finally, I decided to ask the people who had long before written documentation for most of the tokens: TI themselves. They were kind enough to let me use the descriptions found in the TI-83 Plus handbook, and so I spent the rest of the month copy-pasting everything from the PDF file into this Catalog. And it's just about done.
Hurricane Sandy devastates East Coast Nov 2
by ACagliano ClrHome Staff
For those of you who follow our blog, you know that last year we posted a slightly comical "fake news" post about Hurricane Irene, the hurricane that swept through the East Coast. This time around, however, with the cloud of despair and destruction wrought by Hurricane Sandy, we decided to go a different route.

Hurricane Sandy was a Category 1 storm when it made landfall in Atlantic City, NJ on Monday, October 29, 2012. It caused flooding and destruction of billions of dollars worth of property in New Jersey and New York, not to mention the rising death toll, which was roughly fifty at the time of writing. It overwhelmed the preparations of both states, which are now facing what officials are calling the greatest weather-related disaster in history.

Below, you will find a few links to places where you can donate to Hurricane Sandy relief. It is desperately needed.

FEMA: www.fema.gov
Red Cross: www.redcross.org
Grayscale in the editors! Oct 14
by Deep Thought ClrHome Staff
From the beginning, Pixelscape and tileIt! seemed to be essentially the same project on two different platforms, and that's why we made sure data from one would be compatible with the other. It also means that one project can't add any notable new features without the other being involved, but this might be actually be a good thing.

One major feature request shmibs and I have taken on is the ability to create grayscale sprites and maps with our tools. It's been requested for a while now. Considering how easy it is to create three- or four-level grayscale graphics with Axe, grayscale support should have been a no-brainer from the beginning. Unfortunately, both projects were designed with monochrome graphics in mind, and the addition of grays would be a huge change.

But it's been done: Pixelscape and tileIt! both now allow sprites and maps in grayscale!

In both projects, the grayscale system is heavily tied to Axe's system of two buffers. In Pixelscape, left-click to toggle a pixel on the front buffer and right-click to toggle a pixel on the back buffer. In tileIt!, use 2nd and MODE, respectively. (To change the grayscale mode, use the drop-down menu in Pixelscape and TRACE in tileIt!.)

The one major drawback is that the data format used by the projects had to be changed. Sprite sheets created with the old versions are no longer compatible with the new ones (tilemaps should still work, however). As always, data from one project will work with the other.

Here are some other miscellaneous features that have been added to Pixelscape:

  • Exporting the map as a GIF, PNG, or JPEG image
  • Editing the sprite and map hex directly (allowing for easy previews of sprite data in hexadecimal form, for example)
  • Sprite shifting


I've gone ahead and converted all sprite sheets people had saved online for Pixelscape to the new format. Sorry for the inconvenience; we hope you'll find the new features useful!
+

Contact us

Welcome! ClrHome is a site and programming group with a variety of upcoming projects and finished products for the Texas Instruments line of graphing calculators, as well as an extensive collection of popular resources to help you make your own programs.

You can use letters, numbers, and spaces.
We won't share it with anyone, ever.
You may use some BBCodes such as [b], [i], and [url].
×
Membership

Sign up/sign in

We won't share it with anyone, ever.
Keep it secret, keep it safe.
Just making sure you typed it correctly.
You can use letters, numbers, and spaces.
Consider this our CAPTCHA.

OpenID