Omnimaga

Calculator Community => Major Community Projects => The Axe Parser Project => Topic started by: Quigibo on August 01, 2010, 08:13:52 pm

Title: Link Routine Testing
Post by: Quigibo on August 01, 2010, 08:13:52 pm
I've finished the link routines, and they work very nicely but I know there are slight differences between the hardware and I need to make sure I am leaving enough room for variations.  To make the routine as fast as possible and therefore usable in realtime games that have a lot of data to send, the routine is time based instead of confirmation based.  There is a minimum threshold of 10 T-states (1.7 microseconds) which is enough to give me 100% error free byte sending on 2 linked 84+'s and should be enough between all z80 calcs, but unfortunately the Nspire emulation is too slow.  Not sure if there's anything I can do about that.

Anyway, I just need to confirm that this works.  If you have an I/O cable and 2 calculators, preferably 2 different types for example: TI-83+ and TI-84+SE, then please help me test this.  The receiver should run program A which just relays to the screen and then have the other calculator run program B which sends a random byte.  Make sure both the numbers are the same on both calculators and repeat a bunch of times and then switch the roles of sender and receiver.

If there is an inconsistency, let me know which calculator was the receiver, which one was the sender, and the numbers that show up on each screen, thanks!
Title: Re: Link Routine Testing
Post by: DJ Omnimaga on August 03, 2010, 04:25:35 am
The strange thing is that my Supersonic Ball game seems to run at the exact same speed on my Nspire as it does on my 83+. If it's faster or slower, I can hardly see a difference. However, it could maybe just be my game. I heard some stuff run much faster on the Nspire.

Also older Nspire OSes emulates 84+ ASM much slower than 2.0.x. This could pose problems for people who got Ndless and are stuck on OS 1.1. I wonder if Nspire linking is possible x.x

Good luck, though!
Title: Re: Link Routine Testing
Post by: Quigibo on August 03, 2010, 04:42:39 am
Well, those with Ndless might have access to a better emulator in the future so that could actually be an advantage.  However, you can still link an Nspire with another Nspire if they're both running the same OS version since I think the speeds would be close enough in that case.
Title: Re: Link Routine Testing
Post by: DJ Omnimaga on August 03, 2010, 04:43:54 am
Yeah. Sadly Calc84maniac lost the entire source code for that emulator (as well as all his other Nspire projects), though, and nobody even figured out how to open the link port yet :(
Title: Re: Link Routine Testing
Post by: calcdude84se on August 05, 2010, 12:05:36 pm
If only I had two calcs... And yeah, too bad that we've been unable to discover how to work the link port.
Good luck with the routine, though! :)
Title: Re: Link Routine Testing
Post by: ztrumpet on August 05, 2010, 01:49:16 pm
Okay, I'll try between an 83+, 83+se, and 84+se.  I'll let you know my results later today. :)

EDIT:  Here are my results:
LinkA - 84+SE OS 2.43
LinkB - 83+ OS 1.19
Failed some of the time.  Here are the numbers that it failed on for me:
A   B
79  159
62  124
12  24
34  69
73  147
106 213
120 241
78  156
127 255
46  93
97  195
116 232
88  176
98  196

LinkA - 83+ OS 1.19
LinkB - 84+SE OS 2.43
Never failed.

LinkA - 84+SE OS 2.43
LinkB - 83+SE OS 1.19
Failed some of the time.  Here are the numbers that it failed on for me:
A   B
100 201
20  41
77  154
23  46
77  154
102 205
90  181
1   2
12  25
108 217
88  177
60  120

LinkA - 84+SE OS 2.43
LinkB - 83+ OS 1.19
Never failed.

LinkA - 83+SE OS 1.19
LinkB - 83+ OS 1.19
Failed some of the time.  Here are the numbers that it failed on for me:
A   B
69  138
126 253
88  161
110 220
99  199
91  182
93  187
114 229
112 224

LinkA - 83+ OS 1.19
LinkB - 83+SE OS 1.19
Never failed.

It appears that each time it isn't receiving the highest bit.  Keep in mind that it worked around 95% of the time, though. :)  I even had some numbers that worked fine some times, but not others. ;D
Title: Re: Link Routine Testing
Post by: Quigibo on August 06, 2010, 12:43:57 am
Thanks ztrumpet!  I'm working on fixing them right now.  Those results are kind of interesting.  Seems the 83+ never failed as the receiver and most of the errors were bit shifts.  That probably means the receiving routine is a little too fast.
Title: Re: Link Routine Testing
Post by: LordConiupiter on August 06, 2010, 04:26:14 am
I tried it just a minute ago, and when I run Asm(prgmA on one of my TI84+'es, I see frozen marching ants, which disappear when you press clear. This is the only thing I got the program to do, even when I connected my other TI84+ and run Asm(prgmB on it. It shows the numbers, but does not affect the other calc, on which prgmA is running.
what could be the problem?

EDIT: is it perhaps that I don't have an I/O cable, but an USB connection?
Title: Re: Link Routine Testing
Post by: Quigibo on August 06, 2010, 04:29:24 am
Yeah, this is for the I/O cable only.
Title: Re: Link Routine Testing
Post by: LordConiupiter on August 06, 2010, 05:55:28 am
is USB more difficult than I/O? or will you implement USB linking soon in a jiffy?
Title: Re: Link Routine Testing
Post by: Quigibo on August 06, 2010, 06:50:33 am
USB linking is incredibly complicated.  I don't think its ever been done before in a game, the routines would be MASSIVE and the speed would be way too slow for anything realtime.  It doesn't help either that TI never documented any of the USB functionality so all the information we currently have on it is from hackers and disassembly.
Title: Re: Link Routine Testing
Post by: Raylin on August 06, 2010, 07:19:15 am
Not to mention the fact that only the 84+'s have them.
Title: Re: Link Routine Testing
Post by: LordConiupiter on August 06, 2010, 09:11:29 am
okay, so probably it's never gonna be implemented? or could it be done in the far future perhaps? I would appreciate it very much, since the most of the people in my area have a 84+, without a I/O cable (just like me)
Title: Re: Link Routine Testing
Post by: TIfanx1999 on August 06, 2010, 11:39:25 am
Does Ti not package the new calculators with link cables anymore?
Title: Re: Link Routine Testing
Post by: FinaleTI on August 06, 2010, 12:18:48 pm
I think 83+'s still come with I/O cables, but I believe that 84+'s come with a mini-USB to mini-USB cable.
Title: Re: Link Routine Testing
Post by: ztrumpet on August 06, 2010, 01:44:07 pm
I think 83+'s still come with I/O cables, but I believe that 84+'s come with a mini-USB to mini-USB cable.
This is correct.  I've actually lost my IO cable twice, and I just asked my math teacher for a replacement.  Maybe that'll work for you guys too. ;D
Title: Re: Link Routine Testing
Post by: TC01 on August 06, 2010, 02:12:46 pm
On a partially-related note: does this mean that X-Link (which I've never tried) only supports I/O linking as well?
Title: Re: Link Routine Testing
Post by: LordConiupiter on August 06, 2010, 04:12:06 pm
I think 83+'s still come with I/O cables, but I believe that 84+'s come with a mini-USB to mini-USB cable.
This is correct.  I've actually lost my IO cable twice, and I just asked my math teacher for a replacement.  Maybe that'll work for you guys too. ;D
I'll try that too, and else I'm going to create one myself. How did your teacher get the cables, btw?
Title: Re: Link Routine Testing
Post by: ztrumpet on August 06, 2010, 04:13:52 pm
How did your teacher get the cables, btw?
The school has a bunch of 82s (I think that's where they came from) and so there's a lot of cables. ;D
Title: Re: Link Routine Testing
Post by: Quigibo on August 06, 2010, 04:15:33 pm
I never got an I/O cable either, I made one myself spliced from 2 other cables.  But I needed it like that anyway to hook it up to breadboards for sound and voltage testing.
Title: Re: Link Routine Testing
Post by: LordConiupiter on August 06, 2010, 04:16:07 pm
okay, I thought my school hasn't, but I'll see. ;)
Title: Re: Link Routine Testing
Post by: DJ Omnimaga on August 08, 2010, 03:38:10 pm
I had a link cable with my 83+, my bro's 83+, my 83+SE and my TI-Nspire, but I kept losing almost all of them and I accidentally my TI-Nspire link cable under two calcs, so it's still working, but only if held in certain ways, and looks like it's in terrible shape now.
Title: Re: Link Routine Testing
Post by: Runer112 on August 08, 2010, 07:50:26 pm
I had a link cable with my 83+, my bro's 83+, my 83+SE and my TI-Nspire, but I kept losing almost all of them and I accidentally my TI-Nspire link cable under two calcs, so it's still working, but only if held in certain ways, and looks like it's in terrible shape now.

You accidentally the whole link cable?
Title: Re: Link Routine Testing
Post by: DJ Omnimaga on August 08, 2010, 08:00:06 pm
Parts of it. :P Parts of the rubber/plastic surrounding the wire are missing
Title: Re: Link Routine Testing
Post by: willrandship on August 08, 2010, 11:47:51 pm
At my school, I have a friend who got very lucky.

He had to make up some citizenship grades with service hours, so he helped the math teachers move (school remodeled) and they had 20 ti-82s, 2 ti-presenters and 3 ti-83+s they just gave to him!

he gave me one of the presenters though :P. I don't have a calc for them though.
Title: Re: Link Routine Testing
Post by: TIfanx1999 on August 09, 2010, 04:57:29 pm
@ All: I see. It is very odd that the 84s don't come packaged with 2.5mm cables. You can however purchase them on TI's site and probably from ebay as well. Just FYI. :)