gargoyle Posted July 2, 2017 Share Posted July 2, 2017 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? Quote Link to comment Share on other sites More sharing options...
mr-atari Posted July 2, 2017 Share Posted July 2, 2017 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".... 1 Quote Link to comment Share on other sites More sharing options...
greblus Posted July 2, 2017 Share Posted July 2, 2017 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. 5 Quote Link to comment Share on other sites More sharing options...
gargoyle Posted July 2, 2017 Share Posted July 2, 2017 (edited) 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 July 2, 2017 by gargoyle Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted July 2, 2017 Share Posted July 2, 2017 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. 4 Quote Link to comment Share on other sites More sharing options...
gargoyle Posted July 2, 2017 Share Posted July 2, 2017 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... Quote Link to comment Share on other sites More sharing options...
gargoyle Posted July 2, 2017 Share Posted July 2, 2017 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. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted July 2, 2017 Share Posted July 2, 2017 Yes: PCLINK.SYS as shown in the screenshots. Quote Link to comment Share on other sites More sharing options...
greblus Posted July 2, 2017 Share Posted July 2, 2017 (edited) 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/forums/topic/240212-aspeqt-for-android-beta/page-4?do=findComment&comment=3791522 Edited July 2, 2017 by greblus Quote Link to comment Share on other sites More sharing options...
mr-atari Posted July 3, 2017 Share Posted July 3, 2017 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. 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted July 3, 2017 Share Posted July 3, 2017 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. 2 Quote Link to comment Share on other sites More sharing options...
TheMontezuma Posted July 3, 2017 Author Share Posted July 3, 2017 You guys have done a terrific job with adding Hi-Speed support for SIO2BT (and PCLINK in AspeQt for Android) :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). 2 Quote Link to comment Share on other sites More sharing options...
+Larry Posted November 18, 2017 Share Posted November 18, 2017 I thought I might give this another whirl since I've got a spare Android phone now. My initial tests did not go particularly well, but that was a couple of years ago, I believe, so they may have been some progress. I'll be using Mr-Atari's MyBios as the OS. I have to buy a new module, having lost my original, and they seem to range from a little over $1 to about $15 or so. Is there any difference -- do any modules work better than others? I know that with regular BT audio, there can be a big difference in latency, so if you are watching TV, the sound is not in sync with the picture. Anything like that that might affect use with the Atari? I'd be happy to pay more if it will work better. Anyway, if anyone has a suggestion of one that works really well, I'd live to hear about it. Edit: I see that some of these are listed as HC05 and some as HC06. Does this make any difference for our use? Thanks, Larry Quote Link to comment Share on other sites More sharing options...
+Larry Posted November 18, 2017 Share Posted November 18, 2017 Maybe a dumb question, but did anyone ever build a hardwired version of this to an Android phone? Would use an SIO2PC-usb with a mini connector? Could use handshake and eliminate all the dropouts? -Larry 1 Quote Link to comment Share on other sites More sharing options...
vitoco Posted November 18, 2017 Share Posted November 18, 2017 Maybe a dumb question, but did anyone ever build a hardwired version of this to an Android phone? Would use an SIO2PC-usb with a mini connector? Could use handshake and eliminate all the dropouts? -Larry This is my hardwired version: http://www.vitoco.cl/atari/SIO2BT/I use it with my Android phone, but I also used it with RespeQt in Windows. 3 Quote Link to comment Share on other sites More sharing options...
mr-atari Posted November 19, 2017 Share Posted November 19, 2017 Well, Larry triggered me to re-do some BT-investigations. But: Since my last update of the SIO2BT-app, I can not open any disk in RW mode. Even when I press long, select RW, it only does R.... Any suggestions? Grtz, Sijmen. Quote Link to comment Share on other sites More sharing options...
TheMontezuma Posted November 19, 2017 Author Share Posted November 19, 2017 But: Since my last update of the SIO2BT-app, I can not open any disk in RW mode. Even when I press long, select RW, it only does R.... Any suggestions? There were recently no changes related to R/RW handling in the app and it still works well here. If the app has no write permisions to a file, it will be opened in Read only mode. I don't know what exactly happened, but why don't you try to restart the phone? Quote Link to comment Share on other sites More sharing options...
mr-atari Posted November 19, 2017 Share Posted November 19, 2017 I have a new phone, perhaps that is the issue? Moto C+ Android 7 sio2bt-directory is on the extra MicroSD-slot. I restart my phone each morning, so I guess that is OK. Quote Link to comment Share on other sites More sharing options...
TheMontezuma Posted November 19, 2017 Author Share Posted November 19, 2017 I have a new phone, perhaps that is the issue? Moto C+ Android 7 sio2bt-directory is on the extra MicroSD-slot. I restart my phone each morning, so I guess that is OK. Could you please copy one atr file to the internal flash and give it a try? I remember a similar issue reported by Tigerduck with his (Samsung?) phone. The ATRs on the external MicroSD card could only be opened in read only mode Quote Link to comment Share on other sites More sharing options...
mr-atari Posted November 23, 2017 Share Posted November 23, 2017 OK, I'm not quick this time.... But I can not navigate to the internal memory. When I select a disk and go back, back, back, the screen is blank (nothing to select, just a black screen). Only option is the (BACK) key on my phone. This brings me back to the SIO2BT overlay with D1..D4 etc. When I select (again) a disk, I'm back in the folder on my external SD.... No idea, I'm better with 8bit computers I guess. Quote Link to comment Share on other sites More sharing options...
TheMontezuma Posted November 24, 2017 Author Share Posted November 24, 2017 (edited) But I can not navigate to the internal memory. When I select a disk and go back, back, back, the screen is blank (nothing to select, just a black screen). SIO2BT app uses the following API when started the first time. https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory() This is where you start to navigate to the folder with your ATR files. There is no restriction in the app to go up to the parent directories, as long as they are available. Here is a nice article explaining how storage is organized in Android and how to use it: http://codetheory.in/android-saving-files-on-internal-and-external-storage/ Short summary: each Android device has: - internal storage - not accessible to the PC when a phone is connected via USB (that means actually not so interesting for us, since you can't copy ATR files there) - external storage - accessible via USB - it is a little bit confusing, but even a part of an internal phone flash memory is considered as an "external storage" (this is what I meant to try it out). Also SD cards are visible as an external storage. The access to the SD cards (seen as external storage) for the apps can be READ or READ/WRITE. For WRITE access the App has to request it in the manifest, which SIO2BT app does (android.permission.WRITE_EXTERNAL_STORAGE). However writing may still be restricted by the phone Please look at the following article about SD cards usage since Android 6.0: https://motorola-global-en-aus.custhelp.com/app/answers/prod_answer_detail/a_id/110254/p/30,6720,10211 Perhaps you can play around a little bit and find a solution that allows for WRITE access to your SD card? Edited November 24, 2017 by TheMontezuma Quote Link to comment Share on other sites More sharing options...
mr-atari Posted November 24, 2017 Share Posted November 24, 2017 OK, I have no clue why I can not navigate to storage/emulated/0 when on my external memory.... So I have removed the app and re-installed it. Now I can see the internal memory. But when I use the app to look into the external, I can not go back, again I get the black screen. Only the android-back key works, sending me back to the overlay. Bus since I installed it new, the first folder it looks again in internal. Shoot me, but now it works. R and RW, from internal memory. R only from external memory (No RW possible). So I moved my ATR's to the internal.... And I am fucked again. Once you open a single ATR from external SD, the navigator starts external. No way to get back to storage/emulated/0 Sigh.... I just remove and install the app again. So anybody with the same issue? Just delete app and reinstall it. BTW: When I "TICK" the option deactivate animation to decrease the CPU load: The animation is ON (not OFF).... That is, activity is shown with a green blinking floppy-middle.Not a big issue, just something to report.Keep up the great work! Sijmen. Quote Link to comment Share on other sites More sharing options...
TheMontezuma Posted November 24, 2017 Author Share Posted November 24, 2017 Once you open a single ATR from external SD, the navigator starts external.No way to get back to storage/emulated/0 Sigh.... I just remove and install the app again. So anybody with the same issue? Just delete app and reinstall it. BTW: When I "TICK" the option deactivate animation to decrease the CPU load: The animation is ON (not OFF).... That is, activity is shown with a green blinking floppy-middle. Not a big issue, just something to report. Keep up the great work! Sijmen. Hi Sijmen, Please update the app to the new version (2.83) via Google Play. Now, while browsing files, you can long press "Up" item (I renamed "Back" item to "Up"). This will take you to the default storage location, so you don't need to reinstall the app every time. Regarding the checkbox for SIO animation - it works well on my phone. If you switch it OFF and go back to the settings, is it persisted, or is it again ON in the settings? Regards Marcin Quote Link to comment Share on other sites More sharing options...
mr-atari Posted November 25, 2017 Share Posted November 25, 2017 (edited) Hi Marcin, Great, navigation now works. Long UP brings me back to the internal, nice! About the SIO animation: I don't understand the tick-box I guess. It reads: "Deactivate the animation to decrease CPU load" So, for me, this means; tick=Deactivation ON (no animation) untick=Deactivation OFF (yes animation) Correct? When it is unticked, I have no animation. When it is ticked, I have animation. With animation I mean the center of the disk blinking green Grtz, Sijmen. Edited November 25, 2017 by mr-atari Quote Link to comment Share on other sites More sharing options...
manterola Posted November 25, 2017 Share Posted November 25, 2017 (edited) Same problem here. I also have the problem in aspeqt for android. My workaround is to use sio2bt for external, since I cannot go back to /storage/emulated/0.. and use aspeqt for internal, and never go out of the internal storage since I know I cannot return to it. Now I will try the long press. I was thinking in changing permissions, or creating a link in the internal folder to the external sd. Another idea for Marcin, could be the ability to write manually the path you want to go. So I'll be able write any location you want, egged if it is not listed. But I guess the long press solution is enough. Do you know some trick to go back to the internal directory in aspeqt? Edited November 25, 2017 by manterola Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.