Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

SerialDiskReader Project

Last updated on 18 hours ago
M
miker1264Software Dev
Posted 18 hours ago
It amazes me that Rob Smith figured this all out just a few years ago! He used an arduino controller to read the flux data from an Amiga disk.

I'm just walking in his footsteps, trying to piece together how he did all that, one step at a time. :-)

Some day AROS will be able to read and write Amiga Floppy Disks!

What should we name the new serial disk reader? Maybe something easy, QuickDraw (Disk Reader And Writer).
Edited by miker1264 on 10-10-2026 14:26, 13 hours ago
amigamiaamigamiaAdmin
Posted 20 hours ago
Amazing work @miker1264
M
miker1264Software Dev
Posted 1 day ago
Here is the other sources but I don't know how to compile them.

Mostly I'm having a problem with the mmakefile.src. It doesn't seem to be correct.

There are only three main files in the library.
Edited by miker1264 on 10-10-2026 07:09, 20 hours ago
You do not have access to view attachments
M
miker1264Software Dev
Posted 1 day ago
Anyone with more programming experience than me, please help.
I need to compile ftdi library for aros x86-64.

The archive libftdi-master.zip is the Linux sources.
The archive libftdi-0.20_master.zip is the axfgroup libftdi sources.

I've never compiled an aros library before.
You do not have access to view attachments
M
miker1264Software Dev
Posted 1 day ago
After doing some research for this project I don't believe a Poseidon Class is needed.

If we can simply compile the Linux sources for libftdi we already have libusb for AROS.

Using libftdi which relies on libusb & Poseidon it is then possible to read the raw mfm data directly from each track using ftdi commands & the needed Arduino commands.

Decode the mfm data into binary data then write to file.

One step at a time. :-)
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 2 months ago
I can confirm that I've never experienced any slowdowns with VMware, even though I use
cdimaurocdimauroMember
Posted 2 months ago
Usually, VMware is much better than VirtualBox: more solid e more supported.
M
miker1264Software Dev
Posted 2 months ago
AROS "native" in VirtualBox is very unstable. When I start the virtual machine after it being suspended I have to immediately restart or it will slow down to the point of being non usable! The mouse pointer gets very jerky and everything freezes till I can force a restart. After a fresh start I only have one chance to do testing. It's stable enough during a single session to get a little work done.

Because VirtualBox is so unstable I prefer to use AROS native x86 that I installed on one my mini PC's. It's very stable and it has no issues. But it has old system files and it won't run software compiled with the new Build System. So I will have to order some ssd's to install a newer AROS.

But I did learn something new. While trying to compile on my mini PC using GCC in the shell (my only option) there were many errors for the FTDI terminal program so I needed a way to send the output of the shell to a text file. Here's what I did...first type sh to convert to unix.

gcc ftdi_reader.c ftdi_reader -o >compile.log 2>&1
Edited by miker1264 on 07-08-2026 08:15, 2 months ago
M
miker1264Software Dev
Posted 2 months ago
If you are interested here are some hardware photos of the DrawBridge Device (FTDI + Arduino).

This version of the PCB fits inside a common USB Floppy Disk Drive.

You purchase the DrawBridge & the USB Floppy Drive separately. Then you have to open the drive case & install the new PCB according to instructions on the device website.

I have a working DrawBridge equipped usb floppy drive if you would like the model number. Not all USB floppy drives will work though.

DrawBridge software can be compiled for Windows or Linux. Maybe in the near future AROS!

The DrawBridge equipped floppy drive can Read Amiga 68k disks to ADF. It can also Write ADF to disk.
Edited by miker1264 on 06-08-2026 17:13, 2 months ago
You do not have access to view attachments
M
miker1264Software Dev
Posted 2 months ago
For this project I have a good idea about how to move forward. The end goal is to be able to read/write Amiga disks using native AROS software along with DrawBridge. DrawBridge is the Amiga D.isk R.eader A.nd W.riter that acts like a Bridge using an Arduino controller.

Encouraged by the recent success in reading the Product Name using Poseidon Library I'd like to write a small interactive program to send and receive serial data using Poseidon Library API psd_ commands, mostly psdDoPipe.

The interactive shell program will allow me to send single byte commands to the Arduino to test some disk drive diagnostics. I have already done that on Windows 10 using TeraTerm with SerialIO.

These same psd commands are used in Poseidon Classes along with a Serial Bridge that translates SerialIO commands into psd commands. So that is one of my options. Write a Poseidon Class for FT232R to make the Drawbridge device into a serial device using standard AROS SerialIO commands. At the moment there's an error somewhere because it isn't binding.

Another key to the puzzle is to get the Drawbridge software to compile for AROS. Some parts may need to be modified to work correctly.

Lots of work to do!

The attached screenshot shows the Windows version of the command line program DrawBridge in action.
Edited by miker1264 on 29-07-2026 22:42, 2 months ago
You do not have access to view attachments
M
miker1264Software Dev
Posted 2 months ago
First signs of life for the FTDI-Arduino device (aka Drawbridge).

When compiling it I forgot to compile against the Poseidon Library at first & caused errors!

I know it isn't much but I used Poseidon Library API with psd commands to find the FTDI device using the Product ID &Vendor ID. Then I used the device to Get the Attributes for the Product Name.

In the screenshot you can see in the shell output the last line that starts with "product=" that's the device!!

This FTDI chip reader routine to return device information will be part of an FTDI Disk Reader Program.
Edited by miker1264 on 26-07-2026 14:22, 2 months ago
You do not have access to view attachments
M
miker1264Software Dev
Posted 3 months ago
Over the next few days I will attempt to write a very basic FTDI class driver for Poseidon to communicate with the ftdi-arduino controller (aka drawbridge).

Once I have an FTDI class I can setup an ftdi_terminal program.

The ftdi_terminal is an interactive terminal program that works in the AROS shell to send & receive data. The textual data can also be sent to a log file for analysis (text file).

I have used a Terminal Program on Windows 10 Pro to communicate with drawbridge. So I know it works!
deadwood, retrofaza, ntromans
M
miker1264Software Dev
Posted 3 months ago
Recently I've had some success in using Copilot AI to write RLE functions for picture Datatypes.

With that in mind I decided to try a test to see how smart Copilot is. I asked how to write an AROS Poseidon class for a UART driver in c code. The response was interesting!

It provided a compilable UART driver.

I'm going to try to assemble a working UART driver for FTDI that will link to the chip in the Drawbridge equipped USB floppy drive. It should present a UART connection using serial.device to send/receive data.

On my own this would be a huge task but with assistance from Copilot AI I can take it one step at a time and in the process get a better understanding of what is needed.

So, if it's possible to write a UART driver that uses serial.device what can we do with it? We can write a Disk Reader/writer for Amiga Disks!

I imagine that DiskImage.device will be very useful as well. Since any adf that is produced by the DiskReader would need to be mounted to the desktop. It may be possible to call diskimage.device after reading the disk into an adf to mount the image automatically on the AROS desktop.

But that is very far off and unknown if it will work at all. ;-)
Edited by miker1264 on 23-07-2026 21:48, 3 months ago
M
miker1264Software Dev
Posted 5 months ago
The Serial Disk Reader is a very ambitious project. I'd like to write a new Poseidon FT232R Class to use the FTDI chip and serial.device to talk to the Arduino controller on a Drawbridge equipped USB Floppy Drive. If successful this will allow reading & writing Amiga 68k disks.

At first this seems like a daunting task and it can quickly become overwhelming! So it can be broken down into smaller pieces. So far I used the PL2303 class as a basis. I changed the file naming to FT232R then compiled it but at it's core it's not yet compatible with FTDI chips.

I still need to input the vendor & product id's as well as the logic to communicate with the FTDI chip. My first goal is to establish a link with the chip to read back vendor & product id & product description.

At this point I still don't know if all this is possible. We'll see how it goes. ;-)
M
miker1264Software Dev
Posted 5 months ago
The new Poseidon Class didn't work as expected. But there is hope still of being able to read/write Amiga 68k diskettes on AROS.

There is a new OS4 Software Project called Waffle Reader. Yes, strange name but interesting topic! 🤪

Of special interest to me is the ftdi.library that is used by the system to communicate with the ftdi chip.

Read more about it here:

https://github.co...fflereader
Edited by miker1264 on 30-04-2026 17:13, 5 months ago
ntromans, deadwood, Argo, Amiwell79, Deremon
M
miker1264Software Dev
Posted 2 years ago
I've compiled a new Class for Poseidon. It is serialft232r.class for the FTDI USB to UART (Serial) Chip on the DrawBridge Controller. It is supposed to use serial.device to setup a serial connection.

It's not showing up in Trident Prefs though. Maybe I have to add it manually.
Edited by miker1264 on 16-02-2025 22:25, 2 years ago
mmartinka, Argo, Farox, polluks
M
miker1264Software Dev
Posted 3 years ago
AMIGASYSTEM

Thanks for the update about AROS One. I'll give it a try as soon as I can.
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 3 years ago
Good work miker, if you are interested I have published the new AROS One v2.2 !
M
miker1264Software Dev
Posted 3 years ago
For the C# SerialDiskReader GUI project for Windows 10 which is the prototype for the AROS version I've made some progress.

I can detect if a disk is inserted and I can test if it is write protected. I can check whether the disk is double density or high density. But for reading a sector I have to do more to make it work.

In order to ensure I get the correct number of bytes for the MFM encoded data I need a BlockingRead function then an MFM Decoder Algorithm to make sure the binary data is ok.
Edited by miker1264 on 17-10-2023 20:12, 3 years ago
M
miker1264Software Dev
Posted 3 years ago
AMIGASYSTEM

Thanks for the link. I see my "Nostalgia" topic is till there. I kinda like the Pink Text. ;-)

Maybe I could start a new topic about my adventures working with the C# version of the Serial DiskReader for Windows 10 & Windows 11.

Amiga DrawBridge only works with Windows 10+. It has a special driver for the FTDI Serial Converter. That's what it lists it as in Device Manager. The same is true for AROS. We need a special Poseidon Class Driver for the FTDI chip.

Today I spent several hours installing Visual Studio ( complete version ) so I could compile the C# sources and test it on my Windows 10 PC with the new 1TB m.2 Nvme SSD drive. :-)

I'm writing a Serial Terminal Program to test sending character commands to the Arduino. Additionally I added some buttons for a Track Number Combo Box and two command buttons for "Read Track" and "Read Disk". The last one is most important but the most difficult part is the MFM Decoder Algorithm to turn MFM data into Binary Data that can be written to a test file.

After I'm sure the subroutines all work I can focus on making the AROS version based on the new Poseidon Class Driver for the serialft232r.
You can view all discussion threads in this forum.
You cannot start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You cannot download attachments in this forum.
Users who participated in discussion: amigamia, deadwood, AMIGASYSTEM, cdimauro, miker1264