Tempest Posted March 25, 2020 Share Posted March 25, 2020 What's the fastest port speed one can achieve using an SIO2PC USB device and RespeQt on an Incognito 800? I'm only getting 19200 which is alright, but I think I can get it to go faster with the right set of options either in the RespeQt options or the Incognito BIOS. Quote Link to comment Share on other sites More sharing options...
+Stephen Posted March 25, 2020 Share Posted March 25, 2020 4 hours ago, Tempest said: What's the fastest port speed one can achieve using an SIO2USB device and RespeQt on an Incognito 800? I'm only getting 19200 which is alright, but I think I can get it to go faster with the right set of options either in the RespeQt options or the Incognito BIOS. Divisor 0 which is around 125,000 is obtainable on any machine. Not sure why you are only able to get single speed SIO. This is assuming Disk I/O, not a modem connection. 1 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted March 26, 2020 Share Posted March 26, 2020 6 hours ago, Tempest said: What's the fastest port speed one can achieve using an SIO2PC USB device and RespeQt on an Incognito 800? I'm only getting 19200 which is alright, but I think I can get it to go faster with the right set of options either in the RespeQt options or the Incognito BIOS. Make sure you enable the PBI BIOS in the Incognito BIOS settings and then make sure High Speed SIO is also enabled. In the RespeQt settings, use the setting to enable non-standard POKEY divisor and set it at 0. That will give you the absolute fastest SIO speed the Atari is capable of. 2 Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 26, 2020 Author Share Posted March 26, 2020 44 minutes ago, DrVenkman said: Make sure you enable the PBI BIOS in the Incognito BIOS settings and then make sure High Speed SIO is also enabled. In the RespeQt settings, use the setting to enable non-standard POKEY divisor and set it at 0. That will give you the absolute fastest SIO speed the Atari is capable of. Thanks, I'll do that. What do those other SIO transfer options in the bios do? I think there's more than one high speed choice. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted March 26, 2020 Share Posted March 26, 2020 Jon has a RTFM here: https://atari8.co.uk/wp-content/uploads/Ultimate-1MB-Incognito-and-1088XEL-U1MB-Firmware-Manual.pdf :) 2 Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 26, 2020 Author Share Posted March 26, 2020 Anyone know if there's a Linux driver for the SIO2PC USB style device? Windows 10 seemed to find and download a driver automatically, but of course Linux won't do that... 1 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted March 26, 2020 Share Posted March 26, 2020 1 hour ago, Tempest said: Anyone know if there's a Linux driver for the SIO2PC USB style device? Windows 10 seemed to find and download a driver automatically, but of course Linux won't do that... If you can access a terminal window, with your device plugged in, cd into the system \dev\ directory and look for some file entry with “usb” in the name. That’s likely the way Linux is going to identify your adapter. So in Respeqt, you’d put in whatever you see (for instance, “\dev\tty_usb0” or something along those lines. Different Linux distros may give it a different designation, but it’ll be something like that. 2 Quote Link to comment Share on other sites More sharing options...
ijor Posted March 26, 2020 Share Posted March 26, 2020 17 hours ago, DrVenkman said: In the RespeQt settings, use the setting to enable non-standard POKEY divisor and set it at 0. That will give you the absolute fastest SIO speed the Atari is capable of. Not trying to be picky, but you can go even faster with synchronous mode. It would be interesting if some of the more advanced SIO2XX devices would support synchronous mode. Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted March 26, 2020 Share Posted March 26, 2020 1 minute ago, ijor said: Not trying to be picky, but you can go even faster with synchronous mode. It would be interesting if some of the more advanced SIO2XX devices would support synchronous mode. Does any Atari OS contain code that would support that? Quote Link to comment Share on other sites More sharing options...
ijor Posted March 26, 2020 Share Posted March 26, 2020 (edited) 13 minutes ago, DrVenkman said: Does any Atari OS contain code that would support that? Of course not, so what? No official Atari OS supports divisor zero either, or even high speed for that matter. That didn't stop Happy or USD to implement warp/high speed then. Why that should stop us now? Edited March 26, 2020 by ijor 1 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted March 26, 2020 Share Posted March 26, 2020 12 minutes ago, ijor said: Of course not, so what? No official Atari OS supports divisor zero either, or even high speed for that matter. That didn't stop Happy or USD to implement warp/high speed then. Why that should stop us now? I believe, then, that’s your cue to make it happen. But in the meantime, for @Tempest and his present-day Incognito-equipped 800, SIO2PC device and RespeQt, divisor 0 is the fastest he can go. As stated above. Quote Link to comment Share on other sites More sharing options...
HiassofT Posted March 26, 2020 Share Posted March 26, 2020 2 hours ago, ijor said: Not trying to be picky, but you can go even faster with synchronous mode. It would be interesting if some of the more advanced SIO2XX devices would support synchronous mode. Tricky ? Synchronous mode rang a bell, candle had a look at it some time ago - see this thread The major problem though isn't async vs sync mode but coping with the CPU, ANTIC cycle stealing and OS NMI limitations so it'll work reliable in normal use case scenarios. POKEY really is a bitch (no FIFO, requiring manual acknowledgement of received bytes via IRQEN etc) and I'm not sure it's possible to get faster transfers working with full error checking (overrun, timeout, framing errors) than I implemented in my highspeed SIO code. With ANTIC DMA and NMI turned off and framing/overrun error checking removed faster speeds should be possible, but that's a bit of a niche use case. I still haven't found time to look into that (TBH it wasn't too high priority to me either), so if someone wants to have a go at that I'd be interested to read/hear about that! so long, Hias 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted March 26, 2020 Share Posted March 26, 2020 3 hours ago, DrVenkman said: I believe, then, that’s your cue to make it happen. But in the meantime, for @Tempest and his present-day Incognito-equipped 800, SIO2PC device and RespeQt, divisor 0 is the fastest he can go. As stated above. Here's a video showing a long Divisor 0 disk copy for reference: Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 26, 2020 Author Share Posted March 26, 2020 5 hours ago, DrVenkman said: If you can access a terminal window, with your device plugged in, cd into the system \dev\ directory and look for some file entry with “usb” in the name. That’s likely the way Linux is going to identify your adapter. So in Respeqt, you’d put in whatever you see (for instance, “\dev\tty_usb0” or something along those lines. Different Linux distros may give it a different designation, but it’ll be something like that. Ok I found it. This is what lsusb -v outputs: Bus 007 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0403 Future Technology Devices International, Ltd idProduct 0x6001 FT232 Serial (UART) IC bcdDevice 6.00 iManufacturer 1 FTDI iProduct 2 sio2pc-USB www.lotharek.pl iSerial 3 A51JDTR9 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0020 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 90mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 sio2pc-USB www.lotharek.pl Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) Looks like it's USB0 as ls -l /sys/class/tty/*/device/driver get's me this: lrwxrwxrwx 1 root root 0 Mar 26 19:18 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../bus/usb-serial/drivers/ftdi_sio So how do I use this information in RespeQt? All I can do there is pick COM ports. There's a Custom option, but I don't know how to use that. Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted March 26, 2020 Share Posted March 26, 2020 3 minutes ago, Tempest said: Ok I found it. This is what lsusb -v outputs: Bus 007 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0403 Future Technology Devices International, Ltd idProduct 0x6001 FT232 Serial (UART) IC bcdDevice 6.00 iManufacturer 1 FTDI iProduct 2 sio2pc-USB www.lotharek.pl iSerial 3 A51JDTR9 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0020 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 90mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 sio2pc-USB www.lotharek.pl Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) So how do I use this information in RespeQt? All I can do there is pick COM ports. There's a Custom option, but I don't know how to use that. That's not what you need. You need the "filename" that your Linux distro reports for the device. Just do a very basic directory listing like ls inside your \dev\ directory. Something like ls *tty or ls *usb will show you what the system calls the device. That filename is what to put into RespeQt. Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 26, 2020 Author Share Posted March 26, 2020 Just now, DrVenkman said: That's not what you need. You need the "filename" that your Linux distro reports for the device. Just do a very basic directory listing like ls inside your \dev\ directory. Something like ls *tty or ls *usb will show you what the system calls the device. That filename is what to put into RespeQt. Looks like it's USB0 as ls -l /sys/class/tty/*/device/driver get's me this: lrwxrwxrwx 1 root root 0 Mar 26 19:18 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../bus/usb-serial/drivers/ftdi_sio Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted March 26, 2020 Share Posted March 26, 2020 Just now, Tempest said: Looks like it's USB0 as ls -l /sys/class/tty/*/device/driver get's me this: lrwxrwxrwx 1 root root 0 Mar 26 19:18 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../bus/usb-serial/drivers/ftdi_sio If so, then type \dev\ttyUSB0 in the port name field in the Options dialog. Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 26, 2020 Author Share Posted March 26, 2020 10 minutes ago, DrVenkman said: If so, then type \dev\ttyUSB0 in the port name field in the Options dialog. I tried that but it just says EMULATION STOPPED and I can't get it to work. The Atari says that device isn't responding. It might be a permissions thing. I'm running RespeQt through WINE. Also, isn't it /dev/ttyUSB0? Quote Link to comment Share on other sites More sharing options...
HiassofT Posted March 26, 2020 Share Posted March 26, 2020 (edited) 14 minutes ago, Tempest said: It might be a permissions thing. I'm running RespeQt through WINE. Also, isn't it /dev/ttyUSB0? Yes, it's /dev/ttyUSB0 and, also yes, most likely it's a permission thing (probably your user is not in the right groups). please run this and post the output ls -l /dev/ttyUSB0 groups so long, Hias Edited March 26, 2020 by HiassofT Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 26, 2020 Author Share Posted March 26, 2020 1 minute ago, HiassofT said: Yes, it's /dev/ttyUSB0 and, also yes, most likely it's a permission thing (probably your user is not in the right groups). please run ls -l /dev/ttyUSB0 groups [tempest@ATR8000 ~]$ ls -l /dev/ttyUSB0 crw-rw---- 1 root uucp 188, 0 Mar 26 08:53 /dev/ttyUSB0 [tempest@ATR8000 ~]$ groups sys network power uucp lp wheel autologin tempest [tempest@ATR8000 ~]$ Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 27, 2020 Author Share Posted March 27, 2020 Well I just gave all permissions (777) to the /dev/ttyUSB0 and it still doesn't work. Quote Link to comment Share on other sites More sharing options...
HiassofT Posted March 27, 2020 Share Posted March 27, 2020 1 minute ago, Tempest said: [tempest@ATR8000 ~]$ ls -l /dev/ttyUSB0 crw-rw---- 1 root uucp 188, 0 Mar 26 08:53 /dev/ttyUSB0 [tempest@ATR8000 ~]$ groups sys network power uucp lp wheel autologin tempest [tempest@ATR8000 ~]$ OK, your groups are right and I was wrong - missed the wine part (sorry). Haven't used wine with serial ports in ages but I think this might do the trick: ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 That should make the port available as COM1: in windows applications. so long, Hias Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 27, 2020 Author Share Posted March 27, 2020 3 minutes ago, HiassofT said: OK, your groups are right and I was wrong - missed the wine part (sorry). Haven't used wine with serial ports in ages but I think this might do the trick: ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 That should make the port available as COM1: in windows applications. so long, Hias Hmm.. Good idea but I get this error: [tempest@ATR8000 ~]$ ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 ln: failed to create symbolic link '/home/tempest/.wine/dosdevices/com1': File exists I deleted the file and ran your symbolic link and that works, but RespeQt still doesn't work. Quote Link to comment Share on other sites More sharing options...
HiassofT Posted March 27, 2020 Share Posted March 27, 2020 Just installed wine on my laptop and noticed com1-com4 are symlinked to /dev/ttyS0-3 by default. so ~/.wine/dosdevices/com5 (or some other number that's not already used) may be a better choice. Not sure why RespeQt won't work (can't test here ATM) so long, Hias Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 27, 2020 Author Share Posted March 27, 2020 8 minutes ago, HiassofT said: Just installed wine on my laptop and noticed com1-com4 are symlinked to /dev/ttyS0-3 by default. so ~/.wine/dosdevices/com5 (or some other number that's not already used) may be a better choice. Not sure why RespeQt won't work (can't test here ATM) I made the link with S3 (after deleting the old one) because S4 and up don't seem to exist. I also did a CHMOD 777 on S3 just in case. Still doesn't want to work. 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.