Author Topic: KnightOS Transfer Protocol  (Read 26603 times)

0 Members and 1 Guest are viewing this topic.

SirCmpwn

  • Guest
KnightOS Transfer Protocol
« on: November 28, 2010, 08:55:53 pm »
Hello,
Please review and discuss this document:

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #1 on: November 28, 2010, 09:00:53 pm »
The end of the "handshake" and the start of the transfer require different line states. Since both lines have to be pulled low, shouldn't that just be part of the handshake?
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

SirCmpwn

  • Guest
Re: KnightOS Transfer Protocol
« Reply #2 on: November 28, 2010, 09:01:29 pm »
No, because the lines are pulled low by a different calculator.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #3 on: November 28, 2010, 09:03:27 pm »
This might be a stupid question, but how does this third calculator connect to the other two if the sending and receiving calculators are connected by a cable?
« Last Edit: November 28, 2010, 09:03:53 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

SirCmpwn

  • Guest
Re: KnightOS Transfer Protocol
« Reply #4 on: November 28, 2010, 09:04:14 pm »
No, it is done by the sending calculator.  They need to be aware of when each one is ready.  Keep in mind that the transfer portion of the protocol loops.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #5 on: November 28, 2010, 09:06:55 pm »
Okay, that makes more sense.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #6 on: November 28, 2010, 09:50:27 pm »
Looks really complicated.  I didn't check your math, but it sounds pretty good.  Why does this repeat 4 times though? What speeds can you get? When can I discuss usb with you?

SirCmpwn

  • Guest
Re: KnightOS Transfer Protocol
« Reply #7 on: November 28, 2010, 09:52:39 pm »
It repeats four times per byte because I can only send two bits at a time.

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #8 on: November 28, 2010, 09:53:09 pm »
It repeats four times per byte because I can only send two bits at a time.
Oh, that's right. That's the whole shifting mess.  Okay, I get it.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: KnightOS Transfer Protocol
« Reply #9 on: November 28, 2010, 09:59:34 pm »
But, this protocol doesn't work at all because "pulling the lines high" is not possible. You can stop holding the lines low, but you cannot force them high if the other calc is holding them low.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #10 on: November 28, 2010, 10:09:53 pm »
But, this protocol doesn't work at all because "pulling the lines high" is not possible. You can stop holding the lines low, but you cannot force them high if the other calc is holding them low.
Oh, that's because of the pull-up resistors, isn't it. Forgot about that.

SirCmpwn

  • Guest
Re: KnightOS Transfer Protocol
« Reply #11 on: November 28, 2010, 10:17:08 pm »
What do you mean by "holding them low?".  I thought that both sides read the last value written on either side.  If that is true, that is all that really matters, no?

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: KnightOS Transfer Protocol
« Reply #12 on: November 28, 2010, 10:19:40 pm »
What do you mean by "holding them low?".  I thought that both sides read the last value written on either side.  If that is true, that is all that really matters, no?
My guess is that one calc is going to have to mess with one line, and the other, with the other. So calc A messes with Line A and calc B with line B.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: KnightOS Transfer Protocol
« Reply #13 on: November 28, 2010, 10:22:06 pm »
I thought I made this clear on IRC. If either calculator is holding the line low, the line is low. If neither is holding it low, the line is high. The calculator will continue to hold a line low until you tell it to release.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

SirCmpwn

  • Guest
Re: KnightOS Transfer Protocol
« Reply #14 on: November 28, 2010, 10:23:01 pm »
Okay, so I write 1 to port 0 and it stays that way until I write 0?