MaxCoderz

for your 1 bit pleasure!

All times are UTC




Post new topic Reply to topic  [ 58 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
 Post subject: Bell release v0.2!
PostPosted: Thu 09 Nov, 2006 9:11 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
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.

_________________
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


Last edited by Timendus on Thu 16 Nov, 2006 7:17 pm, edited 6 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu 09 Nov, 2006 9:23 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Wed 15 Dec, 2004 7:26 pm
Posts: 2735
Location: The Hague, Netherlands
wow nice. I'll make good use of it, in my next project :)

_________________
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 10 Nov, 2006 12:14 am 
Offline
Calc Wizard
User avatar

Joined: Tue 05 Jul, 2005 11:28 pm
Posts: 549
Cool deal, sounds like a helpful tool for the people who have been laboring over MV's Tachyon forever.

_________________
Image Image Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 10 Nov, 2006 2:38 am 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 4095
Location: I cant seem to get out of this cryogenic chamber!
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 10 Nov, 2006 9:33 am 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
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 ;)

_________________
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


Last edited by Timendus on Fri 10 Nov, 2006 11:54 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 10 Nov, 2006 11:50 am 
Offline
Maxcoderz Staff
User avatar

Joined: Wed 15 Dec, 2004 7:26 pm
Posts: 2735
Location: The Hague, Netherlands
Yeah, with me... could be some time. I have to rewrite EM first :'(

_________________
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 10 Nov, 2006 11:55 am 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 10 Nov, 2006 12:12 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Wed 15 Dec, 2004 7:26 pm
Posts: 2735
Location: The Hague, Netherlands
It's a secret... A SECRET *evil laughter*


... I don't know yet

_________________
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 12:04 am 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 11:32 am 
Offline
Maxcoderz Staff
User avatar

Joined: Wed 15 Dec, 2004 7:26 pm
Posts: 2735
Location: The Hague, Netherlands
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 12:18 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 12:32 pm 
Offline
MCF Legend

Joined: Mon 20 Dec, 2004 8:45 am
Posts: 1601
Location: Budapest, Absurdistan
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? :(

_________________
The Independent Z80 Assembly Guide
Acelgoyobis
PindurTI


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 1:27 pm 
Offline
Calc King

Joined: Thu 13 Oct, 2005 1:54 pm
Posts: 1950
Location: UB
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)

_________________
In Memory of the Maxcoderz Trophy Image


Last edited by CompWiz on Mon 13 Nov, 2006 1:42 pm, edited 2 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 1:34 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
: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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon 13 Nov, 2006 5:07 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Wed 15 Dec, 2004 7:26 pm
Posts: 2735
Location: The Hague, Netherlands
How many bytes is the compiled version of Bell?

_________________
Image


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 58 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 4 guests


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 post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB ® Forum Software © phpBB Group | DVGFX2 by: Matt