A couple of friends of mine and myself plan on building a wireless AIM type client for the 83/84. My friends are going to be constructing the hardware and I am the programmer asigned to the task. I think it would be cool to be able to wirelessly communicate on calculators. I have finished about half of the program that will manipulate this link. According to my friends the hardware will work just like if a cord was plugged in the I/O port. So far I have finished the input routine, designed an extra small custom font for the past text displays, and created the past displays. In essance all that has to be done on my part is the transfering with the link. Does anyone have any experience using the link. I have found some documentation on it, but it is vague and I am a little confused. Hopefully I can figure it out soon! I will post updates to our progress just to let you guys know Smile
I have. I'd like to warn you though that full-duplex two-data-line wireless communication (as required by the TI linkport) is very difficult; if somehow you DO get it succeed at a deceng bandwidth and distance, I would like to ask to license the design for the official TICI 2.0 CALCnet2 Wireless Adapter.
Ya that's what I said, Laughing well not exactly, but I didn't question there ability to make it. I hope they can do it, or else this aim program I made will just work on a calc to calc link which is pointless Sad

Edit: What do you think of Michael Vincents Tachyon Link routine? Will it get the job done? Do you have a better linking routine?
It's ok.
I am having a few problems. Basically when I run it and send a message the recieving calc won't return to type mode after it has recieved a message. And it won't display the past message until I send another one. Then it never returns to type mode. Here is an excerpt of some code; I would appreciate any help I can get:


Code:

KeyLoop:
    call flashcursor          ;flashes a cursor that I have made
   push bc                ;input routine
   push hl
   ld b,50
recieveagain:
   push bc
   ei
   halt
   di
   in a,(0)   ;read link port status
   and 3
   cp 3      ;if this sets NZ then there is a byte trying to be sent,
     call nz,recieving    ;so call the receive routine
   
keyloopa:
   bcall(_GetCSC)
   pop bc
    OR    A             ; If no character recieved, restart
    JR    nz, keypressed
   dec b
   jr nz,recieveagain
   pop hl
   pop bc
   jr keyloop
;this continues by displaying text to a place on the bottom of the screen
;


recieving:
   ld b,66
   xor a
   ld (pointer),a
recieveloop:   
   call receive
   ld c,a
   ld a,(pointer)
   cp BUFSIZE
   call z,quitloop
   ld h,0
   ld l,a
   ld de,reciever                 ;data location for the data to be stored
   add hl,de
   ld a,c
   ld (hl),a
   ld hl,pointer
   inc (hl)
   jr recieveloop
quitloop:
   call storerecieved    ;just stores the data to a data location that
   call background       ;functions like textscreen
   call echoit               ;background clears the background
   ret                         ;echoit displays textscreen to the background


   ;Send routine
Send:
   di
   ld e,a      ;Byte to send
   ld a,1
   out (0),a   ;clock line low
TachyonLink_Send_Wait:
   in a,(0)
   and 2
   jr nz,TachyonLink_Send_Wait
   ;Both lines have gone low
   xor a
   out (0),a      ;set both high
TachyonLink_Send_Wait2:
   in a,(0)
   and 2
   jr z,TachyonLink_Send_Wait2
   ;Start the sending loop
   call TachyonLink_Pause
   ld b,4
TachyonLink_Send_Loop:
   ;Now put a bit on the data line, clock low
   xor a
   rr e
   ccf
   rla
   sl1 a
   out (0),a
   ;now pause
   call TachyonLink_Pause
   ;clock high with a bit
   xor a
   rr e
   ccf
   rla
   add a,a
   out (0),a
   call TachyonLink_Pause
   djnz TachyonLink_Send_Loop
   xor a
   out (0),a
   ret



   ;Receive routine:
Receive:
   di
   ld e,0
TachyonLink_Receive_Wait:
   in a,(0)
   rra   
   jr c,TachyonLink_Receive_Wait
   ld a,2
   out (0),a
   call TachyonLink_Pause
   xor a
   out (0),a
   ld b,4
   ;Ready to receive
TachyonLink_Receive_Loop:
   in a,(0)
   rra
   jr c,TachyonLink_Receive_Loop
   ;The clock went low...store data
   in a,(0)
   rra
   rra
   rr e
TachyonLink_Receive_Wait2:
   in a,(0)
   rra
   jr nc,TachyonLink_Receive_Wait2
   ;The clock went high
   in a,(0)
   rra
   rra
   rr e
   djnz TachyonLink_Receive_Loop
   ld b,1
   ld a,e
   ret
TachyonLink_Pause:
   ;This pause is used by both routines, don't forget to copy it if you split them up.
   ex (sp),hl
   ex (sp),hl
   push bc
   pop bc
   ret
      
sendit:
   ld hl,screenname
   ld a,(hl)
   push hl
   call Send
   pop hl
   inc hl
   ld a,(hl)
   push hl
   call Send
   pop hl
   inc hl
   ld a,(hl)
   call Send
   ld hl,buffer
   ld b,60
sendloop:
   ld a,(hl)
   push hl
   push bc
   call Send
   pop bc
   pop hl
   inc hl
   djnz sendloop
   ret




I am willing to include any other code necessary to find this problem. Thanks in advance for any help Smile
I myself am working with ulrasonic range finders as a means for wireless communications...however, I doubt your friends will be able to do this. Actually, you need to be there with them as they build the device, so you know how you're going to interface with the device. As for range, I don't think you'll be able to go from classroom to classroom (actually, it'll only work in a location without large barriers)

@Kerm: You'd like to license it? Laughing Getting lazy, are we?
Ultimate Dev'r wrote:
I myself am working with ulrasonic range finders as a means for wireless communications...however, I doubt your friends will be able to do this. Actually, you need to be there with them as they build the device, so you know how you're going to interface with the device. As for range, I don't think you'll be able to go from classroom to classroom (actually, it'll only work in a location without large barriers)

@Kerm: You'd like to license it? Laughing Getting lazy, are we?


Not so much lazy as simply not having the time to make it myself.
...I think you're saying it to cover up your laziness Laughing But that's just my opinion...

Anyways, my Dad found all of his old electronics notes whe n he was in the Marine Corps...it's just mind boggling the amount of stuff he has! He literally has five 4" binders full of hand-written notes! Neutral And the math needed to complete some of his examples...it'll really feel like you have a lot of catching up to do! Very Happy There was a lot of physics in his binders, though.
OMG...that's impressive!
That would be cool.

There was two kids at school that had it figured out, because the school had this transmitter line in each class, and they knew how to tap into that for wireless com across the school, but the school board banned it... Sad
Laughing Always finding ways around, aren't we? Smile
Today, I saw someone link into the wireles network at our school with their PSP...
Eh, old news. Smile
/me envies schools with a wireless network.
Hehe, me too, they don't want one at my school for "security reasons" Mad
Yea they don't want one at my school for money purposes, yet they are willing to fork over $54 Million for the new addition they are adding on! Of which I will see none of the beniefts because I graduate before they finish Sad And the same exact thing happened at my junior high school Sad Mad Razz
Quote:
There was two kids at school that had it figured out, because the school had this transmitter line in each class, and they knew how to tap into that for wireless com across the school, but the school board banned it... Sad


? Confused Using a landline for wireless comms? Or to use it as a giant antenna? Razz Laughing

How's it going so far?
Laughing OMG, now THAT would be awesome...
The WAP is in the library in plain sight. He's currently trying to find a program that can decode a WEP.

$54M for an addition?! Our school is paying that much for a whole school!
my school has WiFi, and supposidly, they are working on a way for all kids with laptops to get on the network and internet. They have to block content though, so, that is what is taking them
  
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 UTC - 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