[TI-H] Re: How fast is a TI92+? How fast is the BlackLink cable?


[Prev][Next][Index][Thread]

[TI-H] Re: How fast is a TI92+? How fast is the BlackLink cable?




Hi, thanks for your info

> there are 2 HW versions of the 89/92+
> the newest - hw2 = 12 MHz
> older - hw1      = 10 MHz
yes, i know. I mean hw but this is not as important...

> But for your purpose: isnt there a bit in the system ports u can set so
> auto-int 4 in generated when a byte is received?
>
> http://tict.ticalc.org/docs/J89hw.txt
>
> will be very useful

I've already read this document. I've started working on a "powreful" TCP/IP
stack last year. I stopped developing in summer because I did not know how
to
handle the stack with interrupts (if I should base the stack on the linkport
interrupt
or on the timer interrupt (which would become more complex) because I cannot
use a main loop because the user should be able to use send() and recv() as
usual.

Now I want to continue.
Sometimes there may come a 1000 Bytes TCP packet for example. My SLIP MTU
is set to 200Bytes (or similar) because there are transmission error if it's
higher.
When a SLIP packet received successfully, then the whole TCP/IP stack runs.
If there's
not enough time for this, then another packet may arrive until I have
completed the last
packet. Do you know what I mean?

The first and easiest (ok, it's very, very difficult, but not as difficult
as the next) way is to
base all on the linkport interrupt handler. If a new byte arrives it's
stored in the slip buffer
and if 0xC0 arrives the buffer is copied to an IP buffer an IP runs, then
TCP runs and so
on. Then data is stored in the "socket" buffer waiting that user gets data
with recv().
Clear?

The second way is to take the timer interrupt. The linkport interrupt does
nothing more than
buffering data and the timer interrupt always looks if there's a new packet.
But there are also problems with the timer, e.g. I need hundrets of timers
for a TCP/IP stack
(I have a solution: The timer interrupt just calls a function for each timer
so the _one_ timer
can be used for many timers).


And....yes, I know, there's already a TCP/IP "stack". But I want to have a
real TCP/IP stack
with all advantages of a real TCP/IP stack.
My stack includes:
- Dynamic Link Library support (like FAT engine)
- Complete BSD compatible API (with recv(), send(), bind() and so on).
- All protocols (SMTP, UDP, TCP, IP)
- Stack should run in background as it has been activated by tisock_init()
and should
  response to echo requests etc.
- Modular concept. Each protocol is in it's own file. Resolver is packed
into an extra lib.
- Support for various drivers which can configured by "ifconfig" ;) and you
may link
  as many packet drivers as you want, by default are "lo" and "slip"
included.
  I try to include PPP but it's as difficult as the whole stack itself....





And thanks for your help,

Niki












Follow-Ups: References: