You're right. It is highly recommended to have an optimised serial driver like HSMODA installed.simonsunnyboy wrote:Old 1.x TOSes have problems with RTS/CTS. I remember my 1040STFM with TOS 1.04 was very unstable via nullmodem at 9600 and 19200bps without a fixer installed.
New program: "Serial Disk"
Moderators: Mug UK, Silver Surfer, Moderator Team
Re: New program: "Serial Disk"
Re: New program: "Serial Disk"
Hey Sascha,
I'm trying to run this program on my computer, but I seem to be coughing up an invalid argument. I'm running:
However I'm getting:
The only issue I'm seeing is I'm using an actually db9 serial port instead of a usb converter, could that be a cause?
I'm on Ubuntu 15,10
I'm trying to run this program on my computer, but I seem to be coughing up an invalid argument. I'm running:
Code: Select all
./MonoSerialDisk.exe --port=/dev/ttyS0 --baud-rate=19200 ~/Dev/TEST
Code: Select all
Serial Disk v1.0.5860.16760
Unhandled Exception:
System.IO.IOException: Invalid argument
at System.IO.Ports.SerialPortStream.ThrowIOException () [0x00000] in <filename unknown>:0
at System.IO.Ports.SerialPortStream..ctor (System.String portName, Int32 baudRate, Int32 dataBits, Parity parity, StopBits stopBits, Boolean dtrEnable, Boolean rtsEnable, Handshake handshake, Int32 readTimeout, Int32 writeTimeout, Int32 readBufferSize, Int32 writeBufferSize) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.IO.Ports.SerialPortStream:.ctor (string,int,int,System.IO.Ports.Parity,System.IO.Ports.StopBits,bool,bool,System.IO.Ports.Handshake,int,int,int,int)
at System.IO.Ports.SerialPort.Open () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.IO.Ports.SerialPort:Open ()
at MonoSerialDisk.MainClass.InitSerialPort () [0x00000] in <filename unknown>:0
at MonoSerialDisk.MainClass.Main (System.String[] tArguments) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: Invalid argument
at System.IO.Ports.SerialPortStream.ThrowIOException () [0x00000] in <filename unknown>:0
at System.IO.Ports.SerialPortStream..ctor (System.String portName, Int32 baudRate, Int32 dataBits, Parity parity, StopBits stopBits, Boolean dtrEnable, Boolean rtsEnable, Handshake handshake, Int32 readTimeout, Int32 writeTimeout, Int32 readBufferSize, Int32 writeBufferSize) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.IO.Ports.SerialPortStream:.ctor (string,int,int,System.IO.Ports.Parity,System.IO.Ports.StopBits,bool,bool,System.IO.Ports.Handshake,int,int,int,int)
at System.IO.Ports.SerialPort.Open () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.IO.Ports.SerialPort:Open ()
at MonoSerialDisk.MainClass.InitSerialPort () [0x00000] in <filename unknown>:0
at MonoSerialDisk.MainClass.Main (System.String[] tArguments) [0x00000] in <filename unknown>:0
I'm on Ubuntu 15,10
Atari 1040ST
Re: New program: "Serial Disk"
It should work with any serial port. When you start MonoSerialDisk without parameters it prints out all available serial port names. So do you see /dev/ttyS0 in the list?shazzner wrote:The only issue I'm seeing is I'm using an actually db9 serial port instead of a usb converter, could that be a cause?
Re: New program: "Serial Disk"
Thanks Sascha, I'll check again when I get home but I'm almost certain /dev/ttyS0 appeared before
Atari 1040ST
Re: New program: "Serial Disk"
Thank you very much! I'll prepare my environment as you recommended and try out soon...Anima wrote:Yes, you can now write on the PC target as well. Please find attached the most recent version of the Serial Disk tools. Please note that you need to have Mono or .NET installed on your Linux, Mac OS X or Windows machine. Also I recommend to create and choose an empty shared folder on your PC to avoid overwriting important files. Unfortunately it is not as perfect as it should be (like getting sync problems when receiving files while moving the mouse at 115400 bps) but I use it regularly to transfer data from/to my Falcons.beakerz wrote:Is the "write files to PC folder" feature implemented in the meanwhile? If so, would it be possible to publish the latest binaries for convenience?
Thank you in advance!
Re: New program: "Serial Disk"
Hi,
I am trying to use serial disk (windows 10 - atari megaste) but the system refuses to work. I get a busy bee on the atari. I suspect that serial disk is not using the proper serial port on the megaste and since there are no atari configuration options I can't change it. However the Mega has Serial 2 just like the falcon, so it should work there. Any ideas?
this it the command I used:
I am trying to use serial disk (windows 10 - atari megaste) but the system refuses to work. I get a busy bee on the atari. I suspect that serial disk is not using the proper serial port on the megaste and since there are no atari configuration options I can't change it. However the Mega has Serial 2 just like the falcon, so it should work there. Any ideas?
this it the command I used:
Code: Select all
MonoSerialDisk.exe --port=COM1 --disk-size=15 --baud-rate=19200 --stop-bits=1 --handshake=None D:\atari\
-
- Hardware Guru
- Posts: 2268
- Joined: Sat Sep 10, 2005 11:11 am
- Location: Kosice, Slovakia
- Contact:
Re: New program: "Serial Disk"
Btw is the transfer limited to 19200 or one can use the faster ports the MegaSTE/TT/Falcon offers?
Re: New program: "Serial Disk"
Have anyone managed to get this running on TT -> PC (win7)?
I have configured and started DRVIN.PRG and SCC.PRG from auto folder and then start STserialdisk.tos and then add new device M, when I double click on M: the busy bee appear but nothing else happends. The PC server is running without errors with this command:
MonoSerialDisk.exe --disk-size=128 --port=COM4 C:\TT\hd\
I have tried all ports on my TT, S1 S2 M1 M2. Any ideas?
I have configured and started DRVIN.PRG and SCC.PRG from auto folder and then start STserialdisk.tos and then add new device M, when I double click on M: the busy bee appear but nothing else happends. The PC server is running without errors with this command:
MonoSerialDisk.exe --disk-size=128 --port=COM4 C:\TT\hd\
I have tried all ports on my TT, S1 S2 M1 M2. Any ideas?
"4160" STE with Ultrasatan | Falcon 030 14MB with CF-reader | TT030 | STacy | 520STFM x 2 | 520ST x 2
Re: New program: "Serial Disk"
When you start MonoSerialDisk.exe without parameters, it shows all the serial ports available. Is COM4 being listed?NGF wrote:Have anyone managed to get this running on TT -> PC (win7)?
I have configured and started DRVIN.PRG and SCC.PRG from auto folder and then start STserialdisk.tos and then add new device M, when I double click on M: the busy bee appear but nothing else happends. The PC server is running without errors with this command:
MonoSerialDisk.exe --disk-size=128 --port=COM4 C:\TT\hd\
I have tried all ports on my TT, S1 S2 M1 M2. Any ideas?
Re: New program: "Serial Disk"
Yes COM4 is listed when I start without parameters. But I fear the problem is not the program but the usb2serial cable itself. Can anyone recommend a brand/model of usb2serial?
"4160" STE with Ultrasatan | Falcon 030 14MB with CF-reader | TT030 | STacy | 520STFM x 2 | 520ST x 2
Re: New program: "Serial Disk"
This seems like a neat tool.
I've tried to use it on a Windows 10 PC. Everything seems to be working right, but when I attempt to access the Serial Disk drive on the Atari, it causes the program on my PC to crash. Following output:
I've tried this on both a USB>RS232 Device and the serial port built in on the PC. I have tried more extensive arguments on the .exe per the Readme...same results.
I can't seem to find a compiled Linux of the Serialdisk program. Is one available?
Edit: Looking at the brighter side of things...I did learn a few things about my ST during the process...so...even if I can't get it to work...not a total loss.
I've tried to use it on a Windows 10 PC. Everything seems to be working right, but when I attempt to access the Serial Disk drive on the Atari, it causes the program on my PC to crash. Following output:
Code: Select all
serialdisk --port=COM3 --baud-rate=19200
Serial Disk v1.0.5318.34247
Press any key to quit.
Reading sector 64 (2048 bytes)...
Unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at MonoSerialDisk.MainClass.ReadSectors(Int32 tSector, Int32 tNumberOfSectors)
at MonoSerialDisk.MainClass.SerialDataReceiveHandler()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
I can't seem to find a compiled Linux of the Serialdisk program. Is one available?
Edit: Looking at the brighter side of things...I did learn a few things about my ST during the process...so...even if I can't get it to work...not a total loss.
-
- Moderator
- Posts: 5250
- Joined: Wed Oct 23, 2002 4:36 pm
- Location: Friedrichshafen, Germany
- Contact:
Re: New program: "Serial Disk"
Can't tell on the fault message.
It should directly work on Linux if you have the Mono environment installed.
Try giving it as an argument to the mono exectuable:
$ mono ./serialdisk.exe <<option>>
The serial port info should point to a Linux serial port /dev/ttyS0 or something like that. A DOS/Windows style COMx won't work.
It should directly work on Linux if you have the Mono environment installed.
Try giving it as an argument to the mono exectuable:
$ mono ./serialdisk.exe <<option>>
The serial port info should point to a Linux serial port /dev/ttyS0 or something like that. A DOS/Windows style COMx won't work.
Simon Sunnyboy/Paradize - http://paradize.atari.org/
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee
Re: New program: "Serial Disk"
I am curious about the error. Care to try the program within Visual Studio to get more details about the crash?Blur2040 wrote:I've tried to use it on a Windows 10 PC. Everything seems to be working right, but when I attempt to access the Serial Disk drive on the Atari, it causes the program on my PC to crash.
Re: New program: "Serial Disk"
Thanks for the replies:
Re: Linux - I'm on Debian...but I do concede that I'm a version behind. I installed libmono and whatever dependencies it had, presumed that would be enough. Maybe I missed something, or the update didn't work right.
Re: Visual Studio - Happy to do it. You made it, so that's the least I can do. I presume that this just involves installing the Visual Studio Development environment...loading the source...and I'll probably be able to figure it out from there.
I'll have some more time to mess with it more over the weekend. Perhaps this evening (Friday). Bear with me in that I'm in the U.S. so our times won't match up well.
Some other factors that might be in play:
-I'm in the U.S. running my ST at 60hz.
-I'm on a 1.x TOS. (though I have followed your directions and installed HSMODA)
Re: Linux - I'm on Debian...but I do concede that I'm a version behind. I installed libmono and whatever dependencies it had, presumed that would be enough. Maybe I missed something, or the update didn't work right.
Re: Visual Studio - Happy to do it. You made it, so that's the least I can do. I presume that this just involves installing the Visual Studio Development environment...loading the source...and I'll probably be able to figure it out from there.
I'll have some more time to mess with it more over the weekend. Perhaps this evening (Friday). Bear with me in that I'm in the U.S. so our times won't match up well.
Some other factors that might be in play:
-I'm in the U.S. running my ST at 60hz.
-I'm on a 1.x TOS. (though I have followed your directions and installed HSMODA)
Re: New program: "Serial Disk"
OK, so bear with me.
Considering that I am most likely the issue, I spent some time today trying various things where I might be goofing up. Things done:
Tested RS232 Connection to my PC using terminal emulator on an Atari and PC. I can send stuff back and forth.
Tested the RS232 Connection visa terminal with both the HSMODEM7 driver as well as the built-in driver in my 1.X TOS
Loaded TOS 2.06 with RAMTOS and tried all of the above items in TOS 2.06
Tried a 50Hz boot disk and various variations on the above
I also tried a few variations on Linux (my issue is that I didn't have ALL the necessary parts of libmono installed)
As a result, SerialDisk PC client doesn't crash...but...it still doesn't work.
Having downloaded VisualStudio...and spending a lot of time trying to figure things out...its throwing the exception below.
...and in fact that's all it does.
Considering that I am most likely the issue, I spent some time today trying various things where I might be goofing up. Things done:
Tested RS232 Connection to my PC using terminal emulator on an Atari and PC. I can send stuff back and forth.
Tested the RS232 Connection visa terminal with both the HSMODEM7 driver as well as the built-in driver in my 1.X TOS
Loaded TOS 2.06 with RAMTOS and tried all of the above items in TOS 2.06
Tried a 50Hz boot disk and various variations on the above
I also tried a few variations on Linux (my issue is that I didn't have ALL the necessary parts of libmono installed)
As a result, SerialDisk PC client doesn't crash...but...it still doesn't work.
Having downloaded VisualStudio...and spending a lot of time trying to figure things out...its throwing the exception below.
...and in fact that's all it does.
You do not have the required permissions to view the files attached to this post.
Re: New program: "Serial Disk"
Thanks for your tests and response with the debugger screenshot. Unfortunately it seems that I have to check it with the Hatari emulator.
One last thing to check though: please try to use different virtual drive sizes like 32 MB/64 MB/128 MB. AFAIK the old TOS has problems with certain sector sizes.
One last thing to check though: please try to use different virtual drive sizes like 32 MB/64 MB/128 MB. AFAIK the old TOS has problems with certain sector sizes.
Re: New program: "Serial Disk"
I messed around a bit more...
When compiling from the source you have posted online, I was able to get things partially working. I built MonoSerialDisk.exe from source. That combined with the original SerialDisk.TOS that you posted (in the original post) allowed me to read from the PC. The posted (attached to a post in this thread) compiled version, crashes when I try to read from it.
The STSerialDIsk.TOS that you posted (attached to a post on Atari-Forum) will not work at all. Causes a never-ending busy-bee on my ST, regardless of which program I use on my PC-side.
I did try various disk sizes and, for whatever reason, I have it working (again, using the MonoSerialDisk I compiled and the original SerialDisk.TOS) with a 20MB disk size.
When compiling from the source you have posted online, I was able to get things partially working. I built MonoSerialDisk.exe from source. That combined with the original SerialDisk.TOS that you posted (in the original post) allowed me to read from the PC. The posted (attached to a post in this thread) compiled version, crashes when I try to read from it.
The STSerialDIsk.TOS that you posted (attached to a post on Atari-Forum) will not work at all. Causes a never-ending busy-bee on my ST, regardless of which program I use on my PC-side.
I did try various disk sizes and, for whatever reason, I have it working (again, using the MonoSerialDisk I compiled and the original SerialDisk.TOS) with a 20MB disk size.
Re: New program: "Serial Disk"
Hi all
I've taken MonoSerialDisk and modified it to work with .NET Core 3.0, along with adding a bunch of bugfixes and improvements. Please take a look at https://github.com/z80andrew/SerialDisk. The current release is for Windows x64, but I plan to provide binaries for Linux soon.
I hope someone finds this useful! Please feel free to provide any feedback
I've taken MonoSerialDisk and modified it to work with .NET Core 3.0, along with adding a bunch of bugfixes and improvements. Please take a look at https://github.com/z80andrew/SerialDisk. The current release is for Windows x64, but I plan to provide binaries for Linux soon.
I hope someone finds this useful! Please feel free to provide any feedback

Re: New program: "Serial Disk"
it would be nice to port this to regular C language, no more mandatory .NET bloated runtime required ..
My retro games shop including Atari ST/Falcon/Firebee games ! -- Free Atari games/demos/tools -- Free Falcon demos/tools
Atari Mega STe 4MB + SD2SCSI 1GB + NOVA ET4000 + Pico PSU + Gotek HxC // Atari STe 2MB
Atari Mega STe 4MB + SD2SCSI 1GB + NOVA ET4000 + Pico PSU + Gotek HxC // Atari STe 2MB
Re: New program: "Serial Disk"
Good evening,z80andrew wrote:I hope someone finds this useful! Please feel free to provide any feedback
I am really excited about this app! I have a Mega STe but no hard drive (well if: an old Protar ACSI wayward) and rather than buying an UltraSatan I would like to use a Raspberry Pi to manage this external drive. I have several questions: someone would have already tested, if yes is it viable ? Should the Raspberry be started before the Mega STe? Is the transfer rate sufficient compared to an old Protar ACSI?
Thank you in advance for your advice!
Thierry
Re: New program: "Serial Disk"
Regular C would certainly be more efficient, but much less portable. Regardless, the source code is available to all so anyone can port it if they wish.Orion_ wrote:it would be nice to port this to regular C language, no more mandatory .NET bloated runtime required ..
.NET Core supports ARM Linux, so yes it is possible. I don't have a Pi to test with but you've piqued my interestZeroG1972 wrote:I have several questions: someone would have already tested, if yes is it viable ?

I'm currently working on providing Linux binaries (x64 and ARM) as soon as possible, so keep checking the new releases.
I don't know that specific drive, but serial communication is always going to be slower than an actual disk. "Sufficient" is subjective. You'll just have to try it once it's available and decide for yourself.ZeroG1972 wrote:Is the transfer rate sufficient compared to an old Protar ACSI?
Re: New program: "Serial Disk"
Cool stuff! You got the first “star” from mez80andrew wrote:Hi all
I've taken MonoSerialDisk and modified it to work with .NET Core 3.0, along with adding a bunch of bugfixes and improvements. Please take a look at https://github.com/z80andrew/SerialDisk. The current release is for Windows x64, but I plan to provide binaries for Linux soon.
I hope someone finds this useful! Please feel free to provide any feedback

Re: New program: "Serial Disk"
I’m sure no one’s against your effortsOrion_ wrote:it would be nice to port this to regular C language, no more mandatory .NET bloated runtime required ..

Re: New program: "Serial Disk"
Sorry to disappoint you, but an old ACSI device does 200-400 KB/s, modern ones ~1000 KB/s. A 'serial' disk on the MegaSTE can do, at best, around 22 KB/s. Worst case 1.9 KB/s.ZeroG1972 wrote:I am really excited about this app! I have a Mega STe but no hard drive (well if: an old Protar ACSI wayward) and rather than buying an UltraSatan I would like to use a Raspberry Pi to manage this external drive. I have several questions: someone would have already tested, if yes is it viable ? Should the Raspberry be started before the Mega STe? Is the transfer rate sufficient compared to an old Protar ACSI?z80andrew wrote:I hope someone finds this useful! Please feel free to provide any feedback
Re: New program: "Serial Disk"
Good luck in porting .net applications to anything but the major, current operating systems. C on the other hand can be ported to virtually anything. What if I want to run the SerialDisk server on my Falcon to share files with my ST's with no ethernet hardware?z80andrew wrote:Regular C would certainly be more efficient, but much less portable.
Jo Even
VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64
VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64