Project: PARCP-USB
As you surely know the PARCP stands for PARallel CoPy for more than 18 years now (July 2014).
PARCP allows you to connect two Atari or PC computers via their parallel ports and copy large files or even whole drives across the cable.
However, nowadays PC computers do not have parallel ports anymore. Instead, USB is everywhere. Well, everywhere but in our beloved Atari ST/TT/Falcon and compatible computers. So we are no longer able to use PARCP between Atari and PC computers.
The solution for this situation could be a hardware adapter, a smart microprocessor based device sitting in a small cover plugged into the parallel port of Atari that would translate the PARCP protocol from Atari's parallel port into USB connector/cable. That cable can then be plugged into almost any computer (PC, Mac, tablets, phones, ...). Of course a new version of PARCP software would be required, too.
This page's main purpose is to find out if there is an interest in buying such device. Developing and building it would be rather expensive task so before I'd go into evaluating it I need to know about potential customers. I feel the price for the hardware part should be kept low and not exceed 20-25 USD (that is basically a sum of the parts expected to be used for building it) thus it's not feasible to work on it unless there are several tens of customers at least.
Of course registered PARCP users would get the necessary software update for free. New PARCP users would have to pay the shareware fee but I suppose I could offer a nice discount for the HW+SW bundle :-)
So please, if you are interested in such PARCP upgrade and are willing to buy the final device do let me know. I will be counting you and if there is enough users I'll start looking into developing the PARCP-USB hardware. Feel free to re-visit this page from time to time for eventual updates on progress.
The "kickstarters" so far: Jiri, Gothmog, Trafo, Jungsi, Cyprian, Achim, Konstantin, Dal, DarkLord and Simon. Ten guys, good, I am going to turn on my soldering iron and start working on a prototype :-)
Progress:
- July 30: got the idea of USB adapter for PARCP
- August 2: trying to find out if there's enough interest (Atari-Forum, Atari-Home.de, Atari list.cz, OldComp.cz)
- August 7: finished the hardware part of the adapter (based on Arduino Pro Mini)
- August 8: first signals go through, working hard on software
- August 9: PARCP is working albeit terribly slow (652 B/s) because it's absolutely un-optimized
- August 10: first optimizations, speeded up to 793 B/s
- August 13: further, larger set of optimizations: speed up to 1032 B/s
- August 17: fighting with MS-Windows and their USB support (contrary to Linux where it's worked fine)
- August 20: major rewrite, speed increased to 17793 B/s!
- August 22: sending of files from PC to ST working after 24 hours chase of a typo error
- August 23: PC as a server fully working, now two PCs can talk together via their USB ports
- August 31: after a hard week of trials managed to fully stabilize the USB communication
- September 1: made a couple of tests and realized that the hardware was limited to max 30 kB/s. Need more speed. Threw first prototype to trash can and ordered a completely new hardware with USB on board - an Arduino Pro Micro. It's more expensive but its CPU contains USB 2.0 Full Speed device module
- September first week: developing new firmware for the new CPU.
- September 12: the new hardware with micro-USB connector on board failed during tests. The connector is too fragile and the board does not fit the chosen case even if I try hard. This is a dead end, unfortunately. Trash can again.
- September 14: decided to design and build a completely new board from the ground up
- September 16: ordered new processors and all the necessary components
- September 20: drawing the schema, designing the PCB layout and making one PCB prototype at home
- September 23: soldering the CPU on my prototype board
- September 24: gosh, this CPU is incompatible with the previous one, need to rewrite the firmware for the third time
- September 26: firmware rewritten and PARCP starts working again with speed up to 60 kB/s
- September 28: thanks to further optimizations speed increased up to 78 kB/s
- September 29: MS-Windows and their USB = headaches (under Linux everything works wonderfully)
- October 8: fighting with stability issues. New PC USB driver = new troubles
- October 12: still working on stability issues with the new common Linux/Mac/Windows driver
- October 16: decided to rewrite the communication protocol again, this is going to be fourth firmware version
- October 18: new comm protocol starts working.
- October 19: finally found and fixed a bug that was tyrannizing me for last two months
- October 20: working on transfer routines driven by interrupts. Should help speed things up a bit
- October 21: first successful IRQ transfers, speed tops at 96 kB/s with my Falcon040. Probably hit the top limit of my Falcon speed. Great!
- October 22: connected PC with a PC and achieved 113 kB/s. Wonderful.
- October 25: rewritten second part (of four comm directions) to IRQ.
- October 27: last bit rewritten to IRQ. Server does not work, though.
- October 28: PCBs arrived! Production can start!
- October 30: first production board finished. Server IRQ sending debugged.
- October 31: production board tested successfully.
- November 2: Server IRQ receiving fixed. Facing weird comm errors, though.
- November 3: firmware enhanced to support reflashing. Yes, it will be possible to update the firmware!
- November 4: added switch between fast (IRQ) and slower (polling) routines.
- November 5: parasitic power from data pins resolved. Extensa notebook tested, works at charming 59918 cps (that is 94% bus saturation, great)
- November 6: Serial number added to firmware. Improved the USB descriptor. And best of all - journey to another city to an Atari session to make a live test of PARCP-USB with Atari ST, MegaSTE, TT and Falcon with CT60! All worked great!
- November 9: starting to work on PARCP for MS-Windows (that is required because the old DOS version cannot talk to USB)
- November 10-15: extreme headache with Windows. Do I hate them? Nothing works according to documentation.
- November 16: new comm errors appeared. Something is wrong with the IRQ transfer. Occurs seldomly after copying 90+ MB, hard to catch, even harder to debug.
- November 17: IRQ routines fixed, hopefully. New firmware is ready, PARCP software is almost ready.
- November 19: remotely upgraded firmware in first production unit that my friend Krupkaj uses for testing against his wide range of Atari computers. Great. Also compiled and tested binary for Raspberry Pi!
- November 25: sent out couple more PARCP-USB units to three other testers. The project is now in production phase and this development log can be closed.
- November 26: first official release of PARCP-USB enabled software: PARCP 3.95a. Supports Atari, PC with Linux and Windows, and Raspberry Pi. Web will be updated ASAP.
Questions? Comments? Interest? Then please send me e-mail. Thanks!