Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.

A historic occasion! At 8:31AM EST, on this Friday, October 13th, 2006, CALCnet2.2 successfully sent and acknowledged its first message across a calculator network. In roughly 1/200th of a second, one of four networked emulated calculators sent 5 receiver SID bytes, 5 sender SID bytes, 2 size bytes, and the ascii message, "Cemetech shall rule the world!" to another one. The CALCnet2.2 routines were running as semi-blocking interrupts coexisting with a Doors CS 6 beta running at nearly full speed in the foreground. This heralds a major milestone for Doors CS, CALCnet2, and globalCALCnet: now that sending and receiving between calculators is possible, all of the wide and varied applications of calculator networking are ready to be explored.

For those unfamiliar with CALCnet2.2, it is the third major revision of the CALCnet protocol, and the first to be brought fully to fruition. CALCnet, later appended the designation 1.0 when later CALCnet protocols were developed, was interrupt-based yet built on a highly error-prone system. Since it was one of my first forays into z80 assembly programming, the code was extraordinarily buggy, not to mention uncompilable. CALCnet2 was my second wave of efforts on the project, in which I made great numbers of improvements to the theory behind the protocol. CALCnet2 owed a substantial percentage of its inspiration to a networking paper published by MaxCoderz' Timendus on ticalc.org, yet even this version was never completely written. Finally, in July 2006, I sat down and worked out a version of CALCnet based enough on CALCnet2 not to deserve a new major version number, but encompassing a vast number of improvements. Especially stressed was the amount of error checking; unlike any previous iteration of CALCnet, it was specifically designed to be used as an interrupt. Calculators are now identified not by cascading, dynamic assignation during network connection, but by the 5-byte unique serial number every real (non-emulated) calculator contains from its creation. This eliminates all of the network integrity checks that had been necessary in CALCnet2.2. In addition, all routines are heavily protected against locking up the calculator, and by using a pair of buffers instead of directly sending data between client programs and the interrupt, the CALCnet2.2 interrupt's actions are completely transparent to the client programs running on the calculator.

In the next few days, CALCnet2.2 will continue to be debugged, and I will be working on some fancy-looking demos. The only minor drawback of testing CALCnet2.2 on emulated hardware is that I also have to fake SIDs, since ROM images do not contain SIDs. Oh, and I have successfully tested Cn2 as working across all known TI-83+ ROM images.

Without further ado, here's the proof of this momentous occasion: the contents of the receiving calc's 256-byte receive buffer:

Great job! Cool

*bfr stops using IRC and swiches to Calcnet Wink
Why not use both? There's no reason not to have an IRC client for gCn and Cn2.2...
Nice Very Happy

I am still wanting a demo of it all, so I can put it on two of my 83+s and try it myself. Smile
Update: Here's a screenie for everyone!
Ok, looks cool. 2 things:

1) I thought DCS was not supposed to start if there were no programs loaded?

2) How are you sending the text? Is it something you are compiling within DCS for testing purposes??
1. Not anymore. If folders are enabled, Doors CS is allowed to start without any programs. I figured it was too confusing have an error 505 pop up.

2. Yup, that's compiled. For my next demo I'll add an option to type in text and have it received on the other ones.
1. Ok, that makes sense. I actually kinda thought that you disabled that since you have actually gotten everything working, and were still shooting for the windows look...

2. So the next demo will have a notepad enviroment, or irc enviroment??
1. Of course I'm shooting for a desktop-GUI look, any desktop GUI. None of them refuse to boot when you have no programs installed, or am I misunderstanding your question?

2. One of the demos will. I'm planning to make the next demo some kind of 4-calculator pong type of thing.
KermMartian wrote:
1. Of course I'm shooting for a desktop-GUI look, any desktop GUI. None of them refuse to boot when you have no programs installed, or am I misunderstanding your question?

2. One of the demos will. I'm planning to make the next demo some kind of 4-calculator pong type of thing.


hellz f***ing yeah biznitch!!!! the reason I originally joined Cemetech is finally coming to fruition!!!!!!!!!
Excellent, glad you're happy. Very Happy So I never knew that; you originally joined Cemetech because of CALCnet? Awesome.
KermMartian wrote:
Excellent, glad you're happy. Very Happy So I never knew that; you originally joined Cemetech because of CALCnet? Awesome.


do you remember this?

Quote:
how would you feel about having it in Java? I noticed you were looking for a programmer to do the gCn interface, I would be willing to help, however, Java would be my language of choice for doing it in....this would make it easier to do cross platform desktop programs.....RSS, email, web browsing, etc for the calculator. small little widgets that teh calc could connect to even if you weren't online, but still allow large files to be stored on the computer and thus prevent memory cloggage on the calc.....as someone who uses Mac, Linux, and PC, cross-platform is fairly important to me. In the past I have been aggravated by a lack of cross-platformness in on the compter utilities for the computer, so I felt now would be a good time to volunteer my expertise in a cross-platform language.
Definitely. However, based on the progress on the Python client, don't you feel that would be the superior option at this point? Not suggesting, just asking your opinion and unbiased weighing of the two options. I'd also like to get Kllrnohj in on this discussion.
KermMartian wrote:
Definitely. However, based on the progress on the Python client, don't you feel that would be the superior option at this point? Not suggesting, just asking your opinion and unbiased weighing of the two options. I'd also like to get Kllrnohj in on this discussion.


of course Im going with the python now.

that was before kllrnohj joined the team, and before there even was a team.

twas in response to this:

Quote:
Due to unanimous public opinion, Doors CS 6, the next generation of the revolutionary Doors CS ASM shell for z80 graphing calculators, will be in the form of a Flash Application. While this will mean that the TI-83 calculator will no longer be supported after the last DCS 5.x release, it will allow for a far wider range of features in DCS6. There will be about two or three releases of the Doors CS 5 series before hard work begins on DCS6, however:

Doors CS 5.2: Corrected associated program support
Doors CS 5.3: Archiving bugfixes
Doors CS 5.5: Folder support added

After Doors CS 5.5 is released, work will begin on Doors CS 6. In the past I have elected to work on nearly all of my projects alone; while I will be writing the majority of the Doors CS 6 code, I will be selecting volunteers to help with programming, design, and debugging. The positions that will be available are as follows:

Beta Testers: A group of people with 83+, 83+SE, 84+, or 84+SE graphing calculators who are willing to test beta releases. Do not have to have programming knowledge, but it helps.

gCn Director: Skilled Windows programmer to make the globalCALCnet interface host program for computers

Library Team: Skilled z80 ASM programmers to work on the built-in libraries

CALCnet2 Head: Programmer skilled in z80 ASM to help create and test the CALCnet2 routines

Debug Team: Skilled z80 ASM programmers to help find and root out problems reported by the Beta Testers team.

And finally, how could I possibly leave out some cool eye candy. The following are simulated monochrome screenies, along with how they will look with the 4-bit grayscale interface DCS6 will sport.



Very Happy I remember that now! Yeah, definitely, I totally remember that. Looks like I became the large majority of my "DCS6 team" other than beta'ing, documentation, and gCn, eh? ^_^
KermMartian wrote:
Very Happy I remember that now! Yeah, definitely, I totally remember that. Looks like I became the large majority of my "DCS6 team" other than beta'ing, documentation, and gCn, eh? ^_^


and the grayscale desktop has disappeared Wink

I seem to be beta, documentation and half of gCn Wink
It was grayscale or GUI support + Cn2 + SE support + PS/2 support. I picked the latter set. Smile
KermMartian wrote:
It was grayscale or GUI support + Cn2 + SE support + PS/2 support. I picked the latter set. Smile

strangely enough I dont really blame you Wink
Exccellent. Well, So far on the Cn2Pong demo program, I'm writing the setup that will identify which calcs are at which position in the virtual 384x64 screen.
So Cn2 is online?

Do you know if/when anyone of us will get to help beta test it or anything? Cool
  
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 2
» All times are GMT - 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