DenYoNet received

Page 8/10
1 | 2 | 3 | 4 | 5 | 6 | 7 | | 9 | 10

By konamiman

Paragon (1172)

konamiman's picture

30-07-2011, 22:31

It would still be nice though if there was a possibility to read out that flag somehow, i couldnt find anything about the flag in the W5100 datasheet.
I think that you are highly confused here. Let me explain a bit about the PUSH flag.

TCP data sent to a TCP connection is not actually sent to the net immediately. Instead, the TCP/IP stack (any poperly made stack) will wait for a few milliseconds in case the application has more data to be sent. This allows the stack to send packets with the maximum possible size, which is good for data throughput. For example, if you issue three consecutive TCP send commands of 100 bytes each, the stack will actually send one single packet with all the 300 bytes. Data is sent when a full packet can be sent (usually about 512 bytes of data) or after a short timeout.

The PUSH flag is used to override this behavior. When you send data with this flag set, you are telling the TCP/IP stack "send this data immediately, do not wait for further data". This is useful for example for interactive telnet connections, in which the user expects immediate feedback after sending a few keystrokes (perhaps just one).

So, if you could retrieve the PUSH flag of the received TCP data (the W5100 will not allow you that, indeed, but anyway this is not supported by the TCP/IP UNAPI specification either) this would tell you that the sender wanted you to receive this data as quickly as possible. That's all. It has nothing to do with flow control; other TCP/IP stacks could send TCP data with the PUSH flag set always, sometimes, or never. The fact that you are receiving PUSHed data at the end of the data is purely a coincidence.

Note also that TCP is a pure stream-based protocol: there is no concept of data structures nor any way to know when the data starts or ends. This must be handled by a higher level protocol (for example using a special mark to signal the end of the data, as you did).

I just add the text FILDONE at the end of the data and check it while recieving
Why don't you just send the data size in advance? That's a much neater approach, and is the one used by other existing higher level protocols, such as HTTP.

Is there any way to increase the buffer size? There seems to be a 16KB segment on the chip while only 2KB is used for rcv buffer and 1KB for the send buffer. As far as i counted less then 512 bytes is used for variabeles while 4KB is reserved for it.
Not without breaking the TCP/IP UNAPI BIOS. The W5100 allows only four sizes for the transmit and receive buffers: 1K, 2K, 4K and 8K. It is true that only about 500 bytes are used for variables, but if I assign 2K for the transmit buffer of each connection I run out of memory for these variables, so the only option is to assign 1K.

By SMDNearDark

Master (136)

SMDNearDark's picture

30-07-2011, 23:28

Ah i thought it might be possible to read the header of the tcp packet, but as it is working fine now as well its ok.

I didnt mean the transmit buffer, only the receive buffer, as it might speed up the recieving of data.

I got everything working as i planned so its all fine now. Im gonna check out what the fastest way is to send files, sending file size in advance is ok but also an "end of file" option will work.

I havent checked the tcp defenition much as the chip handles most anyways Tongue

By konamiman

Paragon (1172)

konamiman's picture

01-08-2011, 08:54

I didnt mean the transmit buffer, only the receive buffer, as it might speed up the recieving of data.
The receive buffer could grown from 2K to 4K, but then there would be just two available connections (including UDP). Anyway I'm not sure that this would imply any change on the receiving speed; the speed of the whole process is likely to be limited by the processing speed of the MSX itself.

Im gonna check out what the fastest way is to send files, sending file size in advance is ok but also an "end of file" option will work.
You seem to be somewhat obsessed with speed Smile The end of file mark option is somewhat dangerous: what if some of the files you send happen to have the end of file mark as regular content? Anyway, there are protocols that use this technique, such as MIME; but the chosen terminator is quite long and has always a random part.

I havent checked the tcp defenition much as the chip handles most anyways Tongue
Sure, the TCP/IP stack handles the low level details; but you still need some basic knowledge about how the TCP protocol works. You need at least understand that it is a stream based protocol, with guaranteed ordered and uncorrupted data delivery but without any guarantee of delivery speed; that connections have always one of a possible set of states, some of which allow sending data and some don't; and that each side of the connection can close it sepparately (the other side can keep the connection open and still sending data).

By enribar

Paragon (1169)

enribar's picture

06-08-2011, 18:32

Me too I'm testing DenYoNet from a newby user viewpoint, and I'm very satisfied!
I'm using now a MSXturboR GT with DenYoNet in slot 2 and CF-IDE in slot 1 (DOS 2.20).

One thing on the production: I expected bit more on user's manual and software, but cart configures directly with dhcp (fortunately dhcp is enabled in my adsl router, but what if I want to set static IPs?).

FTP client is OK! But for instance I cannot enter msxarchive.nl. Sometimes anonymous logins are not handled well... (password always wrong, also with anonymous logins?).
(Also, FTP doesn't allow some commands like MGET, since it requires InterNestor installed.
So how to do? Have to flash ObsoNET bios instead?) Sorry made a mistake, it requires NestorMan.

Tested obsoftp and obsosmb, they worked 1 time of 2, but I'll do other experiments. Pings to Denyo from my Windows XP home edition are all OK, and my router sees Denyo as a dhcp device.

I think this is because I use MSXturboR or CF-IDE: when using both utilities and for some unknown reasons MSX hangs, I have to restart MSX and some characters appears on screen. After 3 resets all re-boot in the right way (no chars and right MSX-DOS prompt). I will try with a Philips MSX2.

Apart this, I'm happy because my Windows PC could be used as a FTP server for the MSX. So I suggest this simple utility to share a PC folder with the MSX: http://sourceforge.net/projects/smallftpd/

Configuration and usage are very very simple. Launch utility, configure an account, declare a folder to be the root and you are ready to see it on MSX via FTP! :D

By Sd-Snatcher

Hero (582)

Sd-Snatcher's picture

06-08-2011, 20:30

As far i know Mget dont need internestor, it need the memory helper.

By enribar

Paragon (1169)

enribar's picture

07-08-2011, 17:07

Happy to own this card, here's a small photo gallery: http://denyonet.msxit.org

By Latok

msx guru (3866)

Latok's picture

07-08-2011, 18:01

I really hope konamiman will fix the PING.COM error, not being able to return to DOS when pressing any key.......

By Gradius2

Hero (639)

Gradius2's picture

08-08-2011, 04:38

What's the speed in KB/s ?

By Gradius2

Hero (639)

Gradius2's picture

08-08-2011, 04:40

For FTP server on PC you can use:
http://filezilla-project.org/download.php?type=server

By konamiman

Paragon (1172)

konamiman's picture

08-08-2011, 16:39

One thing on the production: I expected bit more on user's manual and software, but cart configures directly with dhcp (fortunately dhcp is enabled in my adsl router, but what if I want to set static IPs?)
Use the TCPIP.COM program with parameters "IP A0" to disable the DHCP client. You can use the same program for manual IP configuration, just run it without parameters to get more information.

FTP client is OK! But for instance I cannot enter msxarchive.nl. Sometimes anonymous logins are not handled well... (password always wrong, also with anonymous logins?)
Can you verify if you have the same problem with another FTP servers?

Tested obsoftp and obsosmb, they worked 1 time of 2, but I'll do other experiments.
Developing ObsoSMB was quite a challenge. The SMB protocol is documented, but Windows seems to do whatever it wants anyway, so at the end it was more like trial and error. ObsoFTP should work better, what problems have you found exactly?

I think this is because I use MSXturboR or CF-IDE: when using both utilities and for some unknown reasons MSX hangs
That's strange, I have the same configuration and never had hang problems. Can you please tell me the steps to reproduce the problem, and your exact machine configuration?

Apart this, I'm happy because my Windows PC could be used as a FTP server for the MSX. So I suggest this simple utility to share a PC folder with the MSX: http://sourceforge.net/projects/smallftpd/
Another one that is extremely simple and works fine as well: Baby FTP server

I really hope konamiman will fix the PING.COM error, not being able to return to DOS when pressing any key.......
I promise to take a look at it as soon as I can build a version of Nextor that works on real MSX computers (I can't sleep well until I do that!) :)

Page 8/10
1 | 2 | 3 | 4 | 5 | 6 | 7 | | 9 | 10