Bell release v0.2!

A forum where you can announce your awesome project(s).

Moderator: MaxCoderz Staff

User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Bell release v0.2!

Post by Timendus »

Bell release v0.2
(Binary data Exchange Link Library)

http://bell.timendus.com/

Timendus wrote:My point of view here is that I want things to work, be simple and preferably be fast. Or at least fast enough to be useful.

I think I'm going to have to make two versions of the library (and the protocol); one that is optimized for simple data transfer between two(!) calculators, mainly aimed at game programmers who need speed and don't care about the theoretical possibilities of networking [...]

I want to make a simple, small and fast library using some implementation of TI's protocol that can exchange bytes, data blocks or strings fast from one calculator to another to accomodate game programmers [...] it uses known technology in a welltried manner and only the wrapping is more shiny than TI's version (it should be more easy to use, better documented, and perhaps a tad faster, but that's about it). I hope to be able to release that rather soon.
So, it's here :)

Download latest version - Thursday 16th of november 2006
(Library and manual only, no demo software included)


Image

Image


Things it can do
  • Set up a connection between two calculators, uniquely identifying the two and checking if they are running the same program
  • Swap data without the user having to worry about who goes first
  • Send data from one calculator to another in the form of a byte, a block of data (max 255 bytes), a large block of data (max 65535 bytes) or a zero terminated string
  • Autodetect the calculator model you're compiling for (currently Ti-82, Ti-83 and Ti-83+ series are supported and tested for, Ti-84 "should work" but I don't have a rom image for it) and configure it's hardware control routines to match at compile time
  • Alert the coder about errors by always returning a status flag in z (nz is always an indication that an error has occured)
  • Be compiled with your requirements only (by commenting what you don't need)
  • Use a user-definable timeout duration (you can even turn the feature off)
  • Output the selected hardware type (or an error if it wasn't able to detect it) and the number of bytes that the library takes up in your program to the compiler output
Things it can't do yet
  • Compile for Ti-85/Ti-86 or other calculator models
  • Detect a connection "on the fly" (without having to wait at the "waiting for opponent" screen) - though I'm not sure if anyone would want/use this
  • Detect data transfer corruption (I plan to implement a simple parity bit check, but I doubt it's neccessary..)
  • Detect if the other calculator wants to send anything before going to receive mode (I'm not sure how to implement this yet)
Things it will never be able to do
  • Connect more than two calculators; that's what the CLAP project is for, this project didn't get it's own name for no reason :)
Why the name?
  • Alexander Graham Bell may not have been the inventor of the first telephone, but it was Bell who made it popular and who, through his company, made it possible for ordinary people to make phonecalls. That's pretty much what this library should do; it's not really anything new, nothing that hasn't been done before, but it should make a different kind of electronic communication more popular and much easier to use.

    Apart from that, the word "Bell" nicely fits with the word "Clap" :-)
Documentation
  • The source code is heavily documented, and you can find the manual here or in the download zip file.
Speed
  • The speed of a transfer routine is always difficult to determine, so I'm not even going to try to be accurate, but the routines take approximately 7 and a half seconds to transfer 10000 bytes from one calculator to another in PTI. Seeing that PTI nicely reports the calculators to be running at 100%, I guess I could base my calculations on that. 7.5 seconds for 10KB makes 1.33 kB/s or 10.66 kbps. According to this website that pretty much rivals the Ti-OS routines, or it may even be a slight bit faster. Anyway, I think the demo speaks for itself.

    The connect routine is a bit slow though; as you may be able to see in the second screenshot it takes almost a third of a second to conclude that the programs aren't compatible. It's slowness is probably also the main reason why I can't reduce the timeout any further in the demo in the first screenshot (which is why it takes a while before the "connection lost" message appears). It's not really a problem as you only have to go through that routine once, but it would be nice if I could improve it.
Last edited by Timendus on Thu 16 Nov, 2006 7:17 pm, edited 6 times in total.
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

wow nice. I'll make good use of it, in my next project :)
Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

Cool deal, sounds like a helpful tool for the people who have been laboring over MV's Tachyon forever.
Image Image Image
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4129
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

Awesome! I am adefinately going to do some testing with this. I need some nice, easy and quick linking routines ... Bell just might be the answer :).
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

kv83 wrote:I'll make good use of it, in my next project
tr1p1ea wrote:I am adefinately going to do some testing with this
Please do give me some feedback on your findings! :)

I've been thinking about speeding it up a bit further, and I think it might be possible to get just a little bit more out of it. I will probably not have time to work on it untill somewhere next week, so you'll have to do with this version for the time being ;)
Last edited by Timendus on Fri 10 Nov, 2006 11:54 am, edited 1 time in total.
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

Yeah, with me... could be some time. I have to rewrite EM first :'(
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

No problem :) What projects are you (both) planning to use this for?
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

It's a secret... A SECRET *evil laughter*


... I don't know yet
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Improvements soon to be released in v0.2:
  • Send or receive zero terminated strings
  • Swap datablocks or strings (only single bytes can be swapped at the moment)
  • Compile for Ti-82
Known bugs (in both versions):
  • "Connection lost" sometimes results in a total crash (RAM clear) on Ti-83+ (not on Ti-83). Reason unknown.
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

I thought of a nice little project for me, making good use of this :) It's a topdown "shoter" with support for 4 players (2 "real" player, 2 CPU's)

Different modes, like detahmatch, capture the flag and hunter :)
Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Sounds cool :)
Version 0.2 is going to take a while longer than anticipated, because my (300GB) harddrive seems te have crashed this night, taking the last version of Bell in it's grave... :(
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

Timendus wrote:Version 0.2 is going to take a while longer than anticipated, because my (300GB) harddrive seems te have crashed this night, taking the last version of Bell in it's grave... :(
We never learn the lesson, right? :(
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

Hey, backup all the data on your computer for $45 a year, with automatic backup of all changed and new files with Carbonite. Unlimited backup for an amazing price. If you want it, using this link to sign up will give you a free month of service(and yes, it also gives me two months free)

Link: http://www.carbonite.com/raf/signup.asp ... =19821&a=0

Some features:

-Unlimited backup
-if you lose any files, you can choose which ones you want to restore, or just restore them all.
-deleted files are stored for a few days in you backup, so you can easily restore anything you deleted accidentally.
-Can be set to low priority so that it will not interfere with anything else you are doing on the web, from downloads to games
-very easy to use
-double encryption(once at your computer before the data is sent, and once at carbonite's server)
-15 day free trial, with no credit card required

If you're thinking about it, look up some reviews. SmallBusinessComputing.com and Cnet's Downloads.com both have reviewed it. (links point to the review)
Last edited by CompWiz on Mon 13 Nov, 2006 1:42 pm, edited 2 times in total.
In Memory of the Maxcoderz Trophy Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

:mrgreen:@CoBB (crosspost)

I wrote the string and swap routines yesterday evening in one go, and they all worked... No debugging for hours, no stupid typos, no mistaking z flags for nz flags, it just all worked. I was amazed, and I thought "it can't be this simple"... Turns out I was right... :(
If I hadn't left my PC on during the night because I was too lazy to add a few websites as bookmarks it would probably still boot... *sigh*

I hope I can get it to boot when I get back home this afternoon, not that it has all too much irretrieveable data on it (some photos, some logs, some work that's mostly backed up, and Bell), but I don't have my trusted desktop environment to work on now, and my laptop is slooow...

@CompWiz: I don't want to send all my data over the Internet, I don't want other people to have access to all my data, if I wanted to backup my data automatically bad enough, I'd do it myself to my own server over an encrypted connection. But as I said; data-wise not much is lost. It's mostly that I can't use my computer now, and I've probably lost my carefully set up preferences for dozens of programs...
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

How many bytes is the compiled version of Bell?
Image
Post Reply