Page 1 of 3

New program: "Serial Disk"

Posted: Thu Jul 24, 2014 8:01 pm
by Anima
Hello guys,

I developed a small tool which works like Ghostlink. It's called Serial Disk and should work on every Atari ST compatible machine in combination with a Linux-, MacOS- or Windows-PC. At least tests on my Falcon were successful so far. Any feedback would be appreciated. This is a first test release so please beware of some bugs or missing features.

Edit: Source code links: MonoSerialDisk and StSerialDisk.

Edit 2: simple video demo added.

Here's a short documentation:

Code: Select all

                                Serial Disk
                          Documentation 24.07.2014

About Serial Disk
-----------------

Serial Disk is a program suite which simulates a harddisk drive on an Atari ST
using the serial port. The content of the harddisk is redirected to a folder on
the remote PC.

Prerequisites
-------------

The following hardware is required to install and run the simulation:

- an Atari ST compatible computer.
- a PC with Linux, MacOS or Windows installed.
- a null modem cable.
- a USB serial adapter.
- a floppy disk for the file transfer.

Running the simulator on the Atari ST requires the following software:

- an appropriate installed HSMODEM serial driver.
- XCONTROL.ACC
- SerialDisk.TOS

and on the PC:

- the Mono/.NET runtime.
- SerialDisk.exe

Connect the PC with the Atari using the null modem cable and USB serial adapter.

Atari installation
------------------

Extract and copy the HSMODEM drivers, XCONTROL.ACC and the SerialDisk.TOS on a
floppy disk.

As a next step please refer to the HSMODEM documentation which driver and setup
is appropriate for your hardware and how it is installed properly.

Here's an example (from http://members.optusnet.com.au/toxicoh/software.htm):

--------------------------------------8<----------------------------------------

Put DRVIN.PRG into the AUTO folder followed by the MFP.PRG (use SCC.PRG with
MegaSTe, TT, or Falcon).

DRVIN.PRG has two user options. FASTINT should be "on", EXOPEN "off".

"Drag and drop" the MFP.PRG (or SCC.PRG) onto SETTER.PRG to configure the
driver:

Atari World recommended setting for a standard ST (MFP.PRG):
RSVE   N
HISP   N
REPL   U (six times)
DTR   Y
RBL   16384
TBL   8192

Atari World recommended setting for MegaSTe and Falcon (SCC.PRG):
M2TT   U
M1EMU   U
LANBIT   N
LANEXT   N
LAN_S2   U
DTRM2   Y
DTRS2   Y
RBLM2   16384
TBLM2   8192
RBLS2   16
TBLS2   16

--------------------------------------8<----------------------------------------

Use the XCONTROL.ACC accessory to configure the serial port (modem) and use the
following parameters as an example:

Serial Port: Modem 1
Baud Rate: 19200
Parity: None
Bits/Char: 8
Stop Bits: 1
Flow Control: Rts/Cts

Click on the drive icon A and select "Install Disk Drive". Choose "M" as the
drive ID, optionally name it "SERIAL DISK" and click "Install". You may now
save your desktop with the new drive icon.

Start SerialDisk.TOS (SERIALDI.TOS).

PC installation
---------------

Extract SerialDisk.exe to a folder on your HD and open a command console
(terminal).

Start SerialDisk.exe to see the usage and the serial ports available on your PC.
The program usage is as follows:

--------------------------------------8<----------------------------------------

SerialDisk.exe --port=<serial_port_name> [Options] [<virtual_disk_path>]

Options (default):
--disk-size=<disk_size_in_mb> (128)
--baud-rate=<baud_rate> (115200)
--parity=[N|O|E|M|S] (N)
--stop-bits=[N|1|1.5|2] (1)
--data-bits=<data_bits> (8)
--handshake=[None|RTS|RTS_Xon_Xoff|Xon_Xoff] (RTS)

--------------------------------------8<----------------------------------------

Assuming you have a Linux PC with a USB adapter with the device name
"/dev/ttyUSB0". Before starting the Serial Disk program you have to grant
read/write access to the serial device by using "sudo chmod a+rw /dev/ttyUSB0".

Now start SerialDisk.exe again with the appropriate port name and baud rate:

SerialDisk.exe --port=/dev/ttyUSB0 --baud-rate=19200

Finally on the Atari double click the SERIAL DISK icon (drive "M") to open the
folder on your PC.


Cheers
Sascha

Re: New program: "Serial Disk"

Posted: Fri Jul 25, 2014 4:22 am
by itaboy
I will try it... gotta find my null modem cable... I know it is somewhere

Re: New program: "Serial Disk"

Posted: Fri Jul 25, 2014 1:33 pm
by ggn
Hey, that's friggin' awesome :) - thanks!

I've always wanted to do something similar ever since I couldn't use ghostlink on my Falcon! Also, definitely something I'd like to try compiling for the cosmosex!



BTW can you recommend any usb->serial cable that works?

Re: New program: "Serial Disk"

Posted: Fri Jul 25, 2014 2:34 pm
by Anima
ggn wrote:BTW can you recommend any usb->serial cable that works?


Actually I am using this USB adapter: http://www.digitus.info/en/products/acc ... -da-70156/
However, I would recommend any USB adapter with a FTDI/FT232RL chip.

The combination of a null modem cable with an embedded USB adapter would be nice as well: https://www.google.com/search?q=FT232RL ... 9&safe=off

Please note that files will not be written on the PC folder yet. That feature will be added later on.

Cheers
Sascha

Re: New program: "Serial Disk"

Posted: Sat Jul 26, 2014 4:20 am
by wongck
how about something over the parallel port?
could transfer faster... i guess.

Re: New program: "Serial Disk"

Posted: Sat Jul 26, 2014 7:48 am
by AtariZoll
This is nice project, what will be good for file transfers mostly, I think.
Considering parallel port usage: I worked on it some years ago. It is for sure faster, but PC parallel port is very obsolete solution, what is not good in multitasking environment. It just slows down machine terribly when is active. And even worse thing is that you will not see it on newer motherboards, what stays for serial ports too .
Maybe some USB-parallel port converter would be good, if is not too expensive and hard to find.

Re: New program: "Serial Disk"

Posted: Sat Jul 26, 2014 8:11 am
by jok
Great project! I transfered a lot of files in the last weeks to my TT, and the common way with a terminal program is just inconvenient. I will test this with my Linux laptop asap.

Re: New program: "Serial Disk"

Posted: Sat Jul 26, 2014 8:28 am
by Anima
The main goal for this project was to have a simple file transfer program for all Atari machines and PCs with different operating systems without the need to build or buy proprietary hardware.

Re: New program: "Serial Disk"

Posted: Sat Jul 26, 2014 9:15 am
by tteclado
ParCopy??

Re: New program: "Serial Disk"

Posted: Sun Aug 03, 2014 8:45 am
by Symoon
Great news! To me Ghostlink was really the perfect easy tool for someone having an Atari ST with no hard drive.
It's better than the parallel (and great too) tools like ParCP, HDDaemon ot others whose names escape me. Because these tools required to run a program to make the transfers, while Ghostlink can work directly with any program as if the PC is a ST hard drive.

Now the limitation of Ghostlink was its speed, so once you achive all the functionnalities with this verions, I second the idea that a parallel transfer would be great (but I suppose lots of work too).
BTW I seem to recall I managed to use Ghostlink with a Falcon? I don't have the Falcon anymore so I can't check again.

Re: New program: "Serial Disk"

Posted: Sun Aug 03, 2014 8:54 am
by simonsunnyboy
That sounds quite cool. I'll try it someday. Do you plan to setup a proper webpage for the project? Sometimes it is tedious to find such information again in old forum topics. (Forum search normally doesn't work as good as a decent Google indexed webpage)

Re: New program: "Serial Disk"

Posted: Sun Aug 03, 2014 9:57 am
by Anima
simonsunnyboy wrote:That sounds quite cool. I'll try it someday. Do you plan to setup a proper webpage for the project? Sometimes it is tedious to find such information again in old forum topics. (Forum search normally doesn't work as good as a decent Google indexed webpage)


Agreed. I'll setup a website for this project later on.

Re: New program: "Serial Disk"

Posted: Sun Aug 03, 2014 10:14 am
by Anima
Symoon wrote:Great news! To me Ghostlink was really the perfect easy tool for someone having an Atari ST with no hard drive.
It's better than the parallel (and great too) tools like ParCP, HDDaemon ot others whose names escape me. Because these tools required to run a program to make the transfers, while Ghostlink can work directly with any program as if the PC is a ST hard drive.

Now the limitation of Ghostlink was its speed, so once you achive all the functionnalities with this verions, I second the idea that a parallel transfer would be great (but I suppose lots of work too).
BTW I seem to recall I managed to use Ghostlink with a Falcon? I don't have the Falcon anymore so I can't check again.

Exactly, you can start programs directly from that drive or open files on it from within an application.

Ghostlink may indeed run on a Falcon but the PC part requires to have DOS running on it. While DOSBox might be helpful in this case - it's still an awkward solution.

I am also thinking about adding compression to the transfer routines. LZ4 seems to be a good candidate to improve at least the reading performance on the Atari.

Re: New program: "Serial Disk"

Posted: Sun Aug 03, 2014 11:06 am
by Symoon
Anima wrote:Ghostlink may indeed run on a Falcon but the PC part requires to have DOS running on it. While DOSBox might be helpful in this case - it's still an awkward solution.

True that Ghostlink needed an update on this side. Gongratulations for working on it :)

Anima wrote:I am also thinking about adding compression to the transfer routines. LZ4 seems to be a good candidate to improve at least the reading performance on the Atari.

Good idea. Guess it has to remain an option if the idea is "the program has to run on the smallest configurations" (512KB or 1MB RAM), because of the memory required for the decoding - unless it works with very small blocks.
Anyway, I suppose you know this much better than I do ;)

Re: New program: "Serial Disk"

Posted: Thu Sep 18, 2014 3:28 pm
by Anima
A simple video about how I use this tool has been added to the original post.

Re: New program: "Serial Disk"

Posted: Thu Sep 18, 2014 3:48 pm
by simonsunnyboy
Great demonstration video and thanks for making it silent! :D

How about making a ROM cartridge which initializes the driver and everything? A small 520STM without floppy and harddisk could be brought to a new life and for testing stuffs.

Re: New program: "Serial Disk"

Posted: Thu Sep 18, 2014 4:49 pm
by Anima
simonsunnyboy wrote:Great demonstration video and thanks for making it silent! :D

Thanks, I was hoping that the video speaks for itself. :D

simonsunnyboy wrote:How about making a ROM cartridge which initializes the driver and everything? A small 520STM without floppy and harddisk could be brought to a new life and for testing stuffs.

That's a nice idea. Even if you have a floppy drive the challenge is to get the program onto the disk on the PC. I was lucky having a disk with Connect to get the tool transferred to my second Falcon. A cheap hardware cartridge for this would be nice. Probably Ted Rossin's cartridge project might be a solution!?

Re: New program: "Serial Disk"

Posted: Fri Jan 15, 2016 9:33 pm
by beakerz
Anima wrote:Please note that files will not be written on the PC folder yet. That feature will be added later on.

The "usage video" looks very promising! 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"

Posted: Sun Jan 17, 2016 8:32 am
by Anima
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!

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.

Re: New program: "Serial Disk"

Posted: Sun Jan 17, 2016 11:18 am
by joska
Maybe you can make a version for the PARCP USB now that Petr has released the sources for it?

Re: New program: "Serial Disk"

Posted: Sun Jan 17, 2016 1:58 pm
by simonsunnyboy
joska wrote:Maybe you can make a version for the PARCP USB now that Petr has released the sources for it?


This is a great idea because until now Parcp requires usage of that commander tool. Being able to just mount a share would be nice to have.

Re: New program: "Serial Disk"

Posted: Mon Jan 18, 2016 8:51 am
by Anima
joska wrote:Maybe you can make a version for the PARCP USB now that Petr has released the sources for it?

Two major problems here: lack of time and hardware. :(

Re: New program: "Serial Disk"

Posted: Mon Jan 18, 2016 9:10 am
by shazzner
Very cool! Can I set the serial parameters using the TOS 1.4 control panel? XCONTROL.ACC doesn't work pre 2.4 I believe (or at least it doesn't for me)

Re: New program: "Serial Disk"

Posted: Mon Jan 18, 2016 1:53 pm
by Anima
shazzner wrote:Very cool! Can I set the serial parameters using the TOS 1.4 control panel? XCONTROL.ACC doesn't work pre 2.4 I believe (or at least it doesn't for me)

It should work, however, I remember having a problem with the transfer to my STE without a fix. I need to check that again because I don't know the reason anymore. :(

Re: New program: "Serial Disk"

Posted: Mon Jan 18, 2016 4:58 pm
by simonsunnyboy
Anima wrote:
shazzner wrote:Very cool! Can I set the serial parameters using the TOS 1.4 control panel? XCONTROL.ACC doesn't work pre 2.4 I believe (or at least it doesn't for me)

It should work, however, I remember having a problem with the transfer to my STE without a fix. I need to check that again because I don't know the reason anymore. :(


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.