Omnimaga

Omnimaga => News => Topic started by: KermMartian on January 03, 2011, 04:34:24 pm

Title: First globalCALCnet (gCn) Successes
Post by: KermMartian on January 03, 2011, 04:34:24 pm
Over almost exactly the past seven days, I have been working on globalCALCnet (heretofore gCn for the sake of simplicity), a longstanding project of mine to connect CALCnet2.2 networks and their constituent calculators over the internet.  It can work as simply as connecting two individual calculators as if they were right next to each other, or at the opposite extreme link together many networks, each consisting of many calculators, into a single virtual hub.  As you might imagine, such a system is quite complex, and once I finish working out glitches and kinks, I will probably write a Cemetech whitepaper to detail the system.  Here's the executive summary of the different pieces:

CALCnet2.2 network: One or more calculators linked together with a Cn2.2 network, requiring only the calculators and a handful of unit-to-unit cables.
AVR-based microcontroller board with FTDI: For the prototypes I've made, I'm using the widely-popular Arduino Duemilanove board, offering a 16MHz AVR with 32KB of EEPROM and 2KB of SRAM.  This board pretends to be a calculator participating in the network, but passing incoming frames up to a connected PC via serial/USB, and injects frames into the network from the PC.
C++ gcnclient application: The gcnclient application connects both to the local Arduino and to a remove gCn virtual hub aggregator.  The gcnclient is responsible for moving 1-to-1 and broadcast frames from the Arduino to the remote server and vice versa.
Python gcnhub server daemon: The gcnhub, or virtual hub aggregator, acts as one or more virtual hubs linking together groups of remote gcnclient applications.  There is currently a single gcnhub server, but if gCn becomes more popular, it would be easy to distribute this program so that users could set up their own servers.

Frames (the CALCnet equivalent of packets) travel from one CALCnet2.2 network, through the connected Arduino, to the gcnclient and through the internet to a gcnhub, which routes the packet as necessary to another gcnclient, which hands off the frame to its Arduino and therefore its connected CALCnet2.2 network.  I have successfully demonstrated Flourish running between a pair of single-calculator CALCnet2.2 networks, connected by a 12-mile round-trip over the internet but acting as if they were directly connected; my testbed can be seen below.

Please post all kinds of questions, suggestions, comments, and insults in the attached topic.  I would especially appreciate users who have an Arduino to spare who would like to help me test globalCALCnet.  Cheers!

(http://www.cemetech.net/img/projects/gcn/2calcs2arduinos.jpg)

(http://www.cemetech.net/img/projects/gcn/diagram.png)
Title: Re: First globalCALCnet (gCn) Successes
Post by: ztrumpet on January 03, 2011, 04:38:34 pm
This sounds cool.  Will this eventually be able to let us play two (or more) player games on our calcs even if we're in two different countries?

Good luck Kerm. :)
Title: Re: First globalCALCnet (gCn) Successes
Post by: KermMartian on January 03, 2011, 04:48:48 pm
This sounds cool.  Will this eventually be able to let us play two (or more) player games on our calcs even if we're in two different countries?

Good luck Kerm. :)
With what I've put together, you already can, albeit slightly glitchily. :)
Title: Re: First globalCALCnet (gCn) Successes
Post by: Happybobjr on January 03, 2011, 04:54:11 pm
Please post all kinds of questions, suggestions, comments, and insults in the attached topic.  I would especially appreciate users who have an Arduino to spare who would like to help me test globalCALCnet.  Cheers!
Spoiler For joke:
I hate it.  lol .

I can't wait.
About how much will it cost?
Title: Re: First globalCALCnet (gCn) Successes
Post by: holmes221b on January 03, 2011, 05:20:08 pm
So basically, you've just about outdone the US Government.
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 03, 2011, 05:28:30 pm
Nice! This is one part of CALCnet I wanted to see for a while :).

6 months ago, somebody had the idea of a program and computer software that allowed to send calculator files to a server online, such as highscores. Seems like this might be one of many possible uses for gCn for people who can get the additional equipment above the 3 calculators.
Title: Re: First globalCALCnet (gCn) Successes
Post by: Juju on January 03, 2011, 06:52:15 pm
This is awesome. Way to go, Kerm.
Title: Re: First globalCALCnet (gCn) Successes
Post by: Michael_Lee on January 03, 2011, 07:04:36 pm
This is amazingly amazing, Kerm!
Title: Re: First globalCALCnet (gCn) Successes
Post by: Deep Toaster on January 03, 2011, 07:09:10 pm
That is sweet. Maybe now someone will write a real MMO for calcs O.O
Title: Re: First globalCALCnet (gCn) Successes
Post by: Happybobjr on January 03, 2011, 07:11:18 pm
MMO?
Title: Re: First globalCALCnet (gCn) Successes
Post by: KermMartian on January 03, 2011, 07:12:19 pm
I've been tossing around a few program ideas for multiplayer or MMO games that would be fun with CALCnet and gCn; I'll let you guys know if I do.  I'm still trying to iron out bugs and glitches, and I'll try to remember to update this thread, but of course there will be more frequent updates in the original (http://www.cemetech.net/forum/viewtopic.php?t=5572) topic. :) Oh, and Merth and TIfreak8x mentioned their desire to get Arduinos to test this out.
Title: Re: First globalCALCnet (gCn) Successes
Post by: holmes221b on January 03, 2011, 07:21:35 pm
MMO?
Massively Multiplayer Online Roleplaying Game, I think.
Title: Re: First globalCALCnet (gCn) Successes
Post by: FinaleTI on January 03, 2011, 07:27:41 pm
I've been tossing around a few program ideas for multiplayer or MMO games that would be fun with CALCnet and gCn; I'll let you guys know if I do.  I'm still trying to iron out bugs and glitches, and I'll try to remember to update this thread, but of course there will be more frequent updates in the original (http://www.cemetech.net/forum/viewtopic.php?t=5572) topic. :) Oh, and Merth and TIfreak8x mentioned their desire to get Arduinos to test this out.
Something else that I kinda want to try after I learn ASM would be to make a sort of GTS (Global Trading Station).
It's basically the ability to trade Pokemon online, which would be pretty cool for any Pokemon game for the 83+/84+ family.
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 03, 2011, 11:37:08 pm
The only issue with a MMO is if calcs suddently had a giant spike in popularity and gCn did as well, then some cities in the MMORPG always had 100-200 people idling for most of the daytime (except when changing their batteries). That would take a while to render O.O
Title: Re: First globalCALCnet (gCn) Successes
Post by: willrandship on January 03, 2011, 11:49:39 pm
Not if it was homescreen based.

Kerm, I have an arduino :P but you'll have to tell me how to hook it up to get it to work with calcnet. Also, I have an nspire, and that might be an issue. My sis probably won't let me borrow her calc for it.
Title: Re: First globalCALCnet (gCn) Successes
Post by: Builderboy on January 04, 2011, 01:16:05 am
I think the first thing that could be done is a simple chatroom :) It would be so epic to be able to chat with other calc friends *on your calculator*.  After that, i dunnow, how fast is the transfer?  This is sooo epic!@  :w00t:
Title: Re: First globalCALCnet (gCn) Successes
Post by: KermMartian on January 04, 2011, 01:36:35 am
Well, CALCnet, which I completed about two months ago but which certain ticalc.org news admins haven't deigned to mention (;)), already offered most of these features; this expands it to allow geographically-separated calculators and networks to be interconnected.  Merth/Shaun of Cemetech started writing a CALCnet2.2 chat program called Chat, then I built all the networking bits and tested (screenshots and details, huzzah, in Cemetech news article from December 25th (http://www.cemetech.net/news.php?id=428)), and it's just waiting for a few final features to be implemented by Merth, especially display of the user list and automatic trimming of the scrollback/log.  If I write a simple daemon to connect the gCn metahub and IRC, then with the existing features of Chat, IRC on-calc is very very close to done.
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 04, 2011, 01:40:12 am
Yeah I actually remember seeing the chat program, it was quite cool already.

Now I wonder if connecting to a server to download calc files (even zipped ones) would be feasible (for example, a Cemetech Downloader flash app) O.O
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 04, 2011, 02:29:20 pm
On another note what is the gCn bot in #omnimaga? O.O
Title: Re: First globalCALCnet (gCn) Successes
Post by: willrandship on January 04, 2011, 06:26:18 pm
A calcnet bot that interfaces to the IRC? cool.
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 04, 2011, 06:39:05 pm
Can't wait to test this novelty out :P
And I have a few ideas in mind for a installer project ;)
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 05, 2011, 12:51:10 am
Hmm you mean an installer for calculator games you download? I am curious how hard it would be to make.
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 05, 2011, 01:04:45 am
Yeah, me too. This one would do all the install on device too, so it would fetch the programs/apps from online and install them on the device.
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 05, 2011, 02:47:54 am
How would it detect the different possible install processes, like for Zelda: Dark Link Quest?
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 05, 2011, 03:06:09 am
Probably would download a script file first telling it how to proceed. Kind of like a package build file. Still fleshing out the idea in my head. Maybe it would just do the downloading and then use Athena or something for the install portion?
Title: Re: First globalCALCnet (gCn) Successes
Post by: AngelFish on January 05, 2011, 03:06:56 am
Is anyone else thinking the same thing I am, namely international calc gaming tournaments?
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 05, 2011, 03:08:14 am
Haha, totally!
Gaming community too like Xbox Live, Steam etc :p
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 05, 2011, 03:12:20 am
Probably would download a script file first telling it how to proceed. Kind of like a package build file. Still fleshing out the idea in my head. Maybe it would just do the downloading and then use Athena or something for the install portion?
That could maybe work.
Is anyone else thinking the same thing I am, namely international calc gaming tournaments?
That would be cool. I wonder how much it would lag for complex games, though. O.O
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 05, 2011, 03:14:33 am
I'm thinking that when TBP is done and *maybe* after some work on Oasis I could start talking to Iambian about hooking into Athena with this, after making a file downloader of course.
Title: Re: First globalCALCnet (gCn) Successes
Post by: AngelFish on January 05, 2011, 03:21:21 am
Oooh, Cloud computing...
/me imagines  it

Tired of waiting for that slow, clunky old Axe program to run? Run it from the cloud in TI-OS Live with >9000 G speeds courtesy of TI & I, the nation's fastest CALCnet provider. Plans as low as $159.99 for a new Nspire Touchpad (with mail-in rebate).
Title: Re: First globalCALCnet (gCn) Successes
Post by: aeTIos on January 05, 2011, 03:36:28 am
Nice Kerm!

* I want this
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 05, 2011, 03:57:27 am
Lol Qwerty.55 :P
Title: Re: First globalCALCnet (gCn) Successes
Post by: KermMartian on January 06, 2011, 12:18:30 am
*bump* From the relevant Cemetech news article (http://www.cemetech.net/news.php?id=430):

This evening, two days of Python coding paid off, as a CALCnet-enabled TI-83+ connected to a globalCALCnet (gCn) bridge successfully joined and conversed on the EfNet IRC channel #cemetech.  As mentioned previously (http://www.cemetech.net/news.php?id=429), the gCn project allows CALCnet 2.2 networks to be joined across the internet; by pretending to be another CALCnet 2.2 network, the gCn bridge enables IRC users to chat with real calculators and vice versa.  The calculator side is handled by the CALCnet Chat (http://www.cemetech.net/forum/viewtopic.php?t=5123) client written by Merthsoft and with CALCnet networki ng routines written by yours truly; the Python 'gcnirc' program connects to the gCn metahub and pretends to be another calculator running Chat.  However, it also connects to IRC, and formats messages from each medium to be passed to the other.  In the coming days and weeks, this bridge will be fine-tuned, additional progress and debugging of Chat will occur, and arguably most importantly, the Arduino drivers for CALCnet communication will be fine-tuned to massage out some occasional bottlenecks that keep frames (packets) jammed at the device.  Please feel free to post with thoughts, suggestions, and discussions of your projects that you think should run over gCn!

(http://www.cemetech.net/img/projects/gcn/ircbridge.jpg)
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 06, 2011, 12:28:12 am
As said in the other news post, this is great!
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 06, 2011, 12:30:59 am
Kerm and crew(Merthsoft)++ :)
Title: Re: First globalCALCnet (gCn) Successes
Post by: fb39ca4 on January 06, 2011, 05:53:11 am
:w00t:
Title: Re: First globalCALCnet (gCn) Successes
Post by: Lionel Debroux on January 06, 2011, 06:57:51 am
More congratulations :)
Title: Re: First globalCALCnet (gCn) Successes
Post by: TIfanx1999 on January 06, 2011, 08:19:20 am
@Kerm this really is awesome stuff! I'm not really sure what else to say... XD
Title: Re: First globalCALCnet (gCn) Successes
Post by: Deep Toaster on January 09, 2011, 05:30:34 am
Yeah, me too. This one would do all the install on device too, so it would fetch the programs/apps from online and install them on the device.

Packages... That would be absolutely awesome. Plus it could even search for dependencies if you wanted :o
Title: Re: First globalCALCnet (gCn) Successes
Post by: Eeems on January 09, 2011, 12:59:51 pm
Exactly what I was thinking :p
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 10, 2011, 02:40:51 pm
Lol that would make it even more epic. Need DCS? It asks you if you want to download it ;D
Title: Re: First globalCALCnet (gCn) Successes
Post by: KermMartian on January 10, 2011, 02:46:33 pm
Lol that would make it even more epic. Need DCS? It asks you if you want to download it ;D
Haha, too bad you need Doors CS for CALCnet. ;) I think a nice little package manager would be awesome; in fact, that may be the next thing I write.  I should talk to TC01...
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 10, 2011, 02:48:09 pm
Oh wait lol what was I thinking? X.x I guess that's what happens when work schedule raises by 14 hours in the matter of a week X.x

But yeah I guess it can be an example: If a program needs something in particular that is currently missing on the calc, it just asks you if you want to download it. I wonder how hard it would be to achieve...
Title: Re: First globalCALCnet (gCn) Successes
Post by: Munchor on January 10, 2011, 02:51:47 pm
Lol that would make it even more epic. Need DCS? It asks you if you want to download it ;D
Haha, too bad you need Doors CS for CALCnet. ;) I think a nice little package manager would be awesome; in fact, that may be the next thing I write.  I should talk to TC01...

On a side note, do you need Doors for Mobile Tunes?
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 11, 2011, 03:56:18 am
I think you do, since it had a DCS icon.
Title: Re: First globalCALCnet (gCn) Successes
Post by: Deep Toaster on January 15, 2011, 03:06:22 pm
Lol that would make it even more epic. Need DCS? It asks you if you want to download it ;D
Haha, too bad you need Doors CS for CALCnet. ;) I think a nice little package manager would be awesome; in fact, that may be the next thing I write.  I should talk to TC01...

Hmm, where could the packages' info be stored?

Oh wait lol what was I thinking? X.x I guess that's what happens when work schedule raises by 14 hours in the matter of a week X.x

Wow, that kinda sucks :( Sorry to hear.
Title: Re: First globalCALCnet (gCn) Successes
Post by: DJ Omnimaga on January 16, 2011, 03:26:40 pm
Indeed. I hope it stabilizes soon.