Jump to content

Photo

SIO2BT


236 replies to this topic

#226 gargoyle OFFLINE  

gargoyle

    Chopper Commander

  • 185 posts

Posted Sun Jul 2, 2017 1:39 AM

On an SIO2PC even 4.2 kB/s is nowhere close to the theoretical throughput of of 57600bps (7200 kBs). I wonder why is that? what is the overhead on a hard wired serial port?



#227 mr-atari OFFLINE  

mr-atari

    Moonsweeper

  • 405 posts
  • Location:netherlands

Posted Sun Jul 2, 2017 2:33 AM

On an SIO2PC even 4.2 kB/s is nowhere close to the theoretical throughput of of 57600bps (7200 kBs). I wonder why is that? what is the overhead on a hard wired serial port?

57600 bps will yield 5.76 kB/s maximum, due to adding start/stop-bits.
You get 10 bits for every byte transmitted.

Beside that, you need to add host / device response time.
Command-time, idle-time, sending/receiving extra bytes like "Ack" "Cmpl"....
 

:-D



#228 greblus ONLINE  

greblus

    Moonsweeper

  • 251 posts

Posted Sun Jul 2, 2017 3:29 AM

During my tests of AspeQt on Android I noticed that RWTEST results greatly depend on the "media" used to perform tests. Atr handling costs a lot.

 

See three attached pictures showing tests on my cheap Android device: 

 

- on the first one RWTEST is saving/reading data to/from an atr image (it's SIO2PC-USB @ 115200bps)

- the second one is on the same hardware but test is performed to/from a PCLINK directory

- the third one was using SIO2BT @57600 bps and RWTEST is performed on a PCLINK device.

 

SDX and PCLINK.SYS should be more praised and widely adopted ;)

 

W.

Attached Thumbnails

  • sio2pc_usb_hsindex0_atr.jpg
  • sio2pc_usb_hsindex0_pclink.jpg
  • sio2bt_57600_pclink.jpg


#229 gargoyle OFFLINE  

gargoyle

    Chopper Commander

  • 185 posts

Posted Sun Jul 2, 2017 2:32 PM

Looks like PCLink is buffering sectors.

 

Also in this case, it looks like Android is also a limiting factor because the same test as your first one (SIO2PC-USB @ 115000bps) gives me a DOS Average of 6111.85935 B/sek on a Windows PC. Hmmm, It would be interesting to see what kind of result i would get with PCLink on the same PC.


Edited by gargoyle, Sun Jul 2, 2017 2:43 PM.


#230 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,465 posts
  • Location:United Kingdom

Posted Sun Jul 2, 2017 2:44 PM

PCLink is a file handling protocol (there is no concept of sectors as such), so when the Atari wants - say - 20,000 bytes from the server, the server can burst a buffer 20,000 bytes long. That's why it's so fast.

#231 gargoyle OFFLINE  

gargoyle

    Chopper Commander

  • 185 posts

Posted Sun Jul 2, 2017 2:44 PM

57600 bps will yield 5.76 kB/s maximum, due to adding start/stop-bits.
You get 10 bits for every byte transmitted.

 

Of course, I totally forgot about that...  :thumbsup:



#232 gargoyle OFFLINE  

gargoyle

    Chopper Commander

  • 185 posts

Posted Sun Jul 2, 2017 2:47 PM

PCLink is a file handling protocol (there is no concept of sectors as such), so when the Atari wants - say - 20,000 bytes from the server, the server can burst a buffer 20,000 bytes long. That's why it's so fast.

 

So I suppose there is some kind of an Atari side driver for PCLink,  giving that the SIO protocol only deals with sectors when it comes to disk drives.



#233 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,465 posts
  • Location:United Kingdom

Posted Sun Jul 2, 2017 2:52 PM

Yes: PCLINK.SYS as shown in the screenshots.

#234 greblus ONLINE  

greblus

    Moonsweeper

  • 251 posts

Posted Sun Jul 2, 2017 3:14 PM

Also in this case, it looks like Android is also a limiting factor because the same test as your first one (SIO2PC-USB @ 115000bps) gives me a DOS Average of 6111.85935 B/sek on a Windows PC. Hmmm, It would be interesting to see what kind of result i would get with PCLink on the same PC.

 

I'll look into it (atr performance on Android) if time permits, as it's quite interesting to see that PCLINK is even slightly faster on Android than on my Linux laptop:

 

http://atariage.com/...-4#entry3791522

 

:)


Edited by greblus, Sun Jul 2, 2017 3:17 PM.


#235 mr-atari OFFLINE  

mr-atari

    Moonsweeper

  • 405 posts
  • Location:netherlands

Posted Mon Jul 3, 2017 1:14 AM

Performance of PClink can't be true.
RWTEST uses the Atari's NMI-clock to count time, if disabled/altered by the driver you get these strange readings.

 

The highest data-rate I ever got was using synchronous clock.

300k TX and 175k RX (due to the resistor/caps-array on the serial-lines)

(My SIO2Arduino-project.)

Writing is slow due to the massive overhead on the arduino and SD-media.

 

Pokey can do 440k (4cl/bit), but without protection on the data-lines, not a good idea....

Also, you have to disable all.... NMI/IRQ/ANTIC.

Then with a extreme tight routine, you can pull-off 4cl/bit.

I called it warp-factor 4, 2 years ago, tested it on altirra with the help of Avery.
(He implemented a dev-device using external clocking)

It works, but hardware limitations stopped the project.

 

Anyhow, was fun digging this stuff up again.

 

 

Attached Thumbnails

  • naamloos.png


#236 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 12,465 posts
  • Location:United Kingdom

Posted Mon Jul 3, 2017 3:00 AM

Performance of PClink can't be true.
RWTEST uses the Atari's NMI-clock to count time, if disabled/altered by the driver you get these strange readings.


Using your own calculation:

57600 bps will yield 5.76 kB/s maximum, due to adding start/stop-bits.
You get 10 bits for every byte transmitted.


126000 / 10 = 12.6 KB/s (although admittedly IO was said to be running at 115 kb/s).

Beside that, you need to add host / device response time.
Command-time, idle-time, sending/receiving extra bytes like "Ack" "Cmpl"....


The only command-time, idle, ack, etc, overhead with PCLINK is the command frame which begins the IO, and a single transfer may be tens of kilobytes in size.

I'm not saying the benchmark is necessarily 100 per cent accurate, but it's pointless comparing PCLINK to any protocol which uses 128 or 256 byte sectors.

#237 TheMontezuma OFFLINE  

TheMontezuma

    Dragonstomper

  • Topic Starter
  • 519 posts
  • Location:Hildesheim, D / Kraków, PL

Posted Mon Jul 3, 2017 1:59 PM

You guys have done a terrific job with adding Hi-Speed support for SIO2BT (and PCLINK in AspeQt for Android) :thumbsup: :thumbsup:  :thumbsup:

Thank you for that :)

 

It is clear that we shouldn't compare benchmarks with sector based and file based approaches.

The most of the time PCLINK will be much faster. The only exception -> working with very small files (with size smaller than a sector size).






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users