Jdi na obsah Jdi na menu
 


2. 7. 2018

Projekt PARCP

O projektu PARCP (Parallel Copy) Petra Stehlíka jsem už nějakou dobu věděl. Jelikož jsem si na poslední Atariádě kupoval od Petra jeho Dual Joystick USB adaptér pro připojení 2 Atari joysticků přes USB k PC, tabletu nebo mobilu. K tomuto počinu prý Petra inspiroval Zdeněk Burian, který si stěžoval, že nemá žádný pořádný interface pro dva joysticky ke svému netbooku. A tento Dual Adapter vychází právě z projektu PARCP. Respektive Petr na něm zúročil své dosavadní poznatky a zkušenosti se sériovou USB a paralelní komunikací.

Dual Joystick Adapter

V tomto článku budu hojně používat zkratku LPT (Line Printer Terminal), což je označení pro paralelní port používaný u počítačů IBM PC.

Projekt PARCP umožňuje kopírovat soubory mezi dvěma počítači přes paralelní kabel (Laplink nebo PARCP-LPT) nebo USB (je třeba zakoupit adaptér LPT-USB). Původně byl projekt vyvíjen pro přenos dat mezi PC a Atari ST. Nicméně software je možné použít i pro přenos dat mezi dvěma PC. Pro variantu s LPT kabelem je nutné mít LPT port u obou PC. Pro variantu PARCP-USB je třeba mít na jednom PC LPT port a na druhém volnou zásuvku USB. Software se pak spouští na obou PC. Na jednom se nastaví do režimu Server a na druhém se spustí v režimu Client. Práce se soubory je možná buď příkazy z terminálu nebo pohodlně pomocí luxusního dvouoknového souborového manažeru, který je podobný známým manažerům z DOSu na PC (Norton Commander, Midnight Commander, atd.).

PARCP Shell

Čili, pokud potřebujete kopírovat soubory z PC do Atari přes USB, můžete navštívit rovnou Petrovy stránky projektu PARCP-USB. Jde o novější projekt, který navazuje na PARCP s LPT kabelem. Zde si můžete koupit interface, který umožňuje připojit Atari ST přes USB k PC. Obslužný software uvolnil Petr od roku 2015 ke stažení zdarma.

PARCP-USB

Dále se budu rozepisovat hlavně o nástrahách kopírování dat přes paralelní kabel (PARCP-LPT).

K projektu PARCP jsem se dostal, když jsem potřeboval nějaký software pro otestování LPT portu u jednoho PC v práci. Řekl jsem si, že PARCP by mohl být vhodnou volbou, protože umožňuje obousměrný přenos dat po všech datových vodičích a běží i na Linuxu, který používám. A navíc se dá použít, po menší úpravě, se standardním přípojným LPT kabelem (s konektory Canon-25 samec na obou koncích), který mám v zásobě. V tomto kabelu (1:1) stačí prohodit pouze na jednom konci 2 vodiče (mezi piny 1 a 11).

PARCP Cable

Kabel jsem tedy měl nachystaný a tak jsem si stáhnul ze sekce Download nejnovější software pro kopírování (verzi 4.2.1). Zkusil jsem po rozbalení spustit na Linuxu soubor parcp ze složky parcp421/pc/ubuntu/i386, ale narazil jsem na problém - chybové hlášení HID open failed.

Konzultoval jsem to s Petrem a ten mi napsal, že pro použití s LPT kabelem je potřeba použít starší verzi softwaru PARCP v3.90. Jelikož vyšší verze jsou již pro adaptér PARCP-USB. Mělo mi to dojít, jelikož zkratka HID (Human Interface Device) bývá vidět ve správci zařízení právě u USB zařízení jako myš, klávesnice, atd.

Pokud chybové hlášení nastane i s PARCP-USB adaptérem, je třeba postupovat podle kapitoly Instalace v manuálu a nastavit práva pro přístup k zařízení. Petr mi k tomu napsal toto:

V Linux specific requirements najdeš jeden řádek, který si přidáš do souboru v adresáři /etc/udev/rules.d/ a pak restartuješ udev:

sudo udevadm control --reload-rules && sudo udevadm trigger

Takže jsem stáhl verzi 3.90 a podle manuálu bylo třeba nejprve vygenerovat v DOSu konfigurační soubor cfg pomocí utility parcpcfg.exe. Tu lze najít v zipu ve složce parcp390/pc. Program je třeba spustit nejlépe z čistého DOSu nebo Windows 9x. Na to jsem použil flashdisk s DOSem, který léta používám na podobné věci.

Před spuštěním parcfg.exe je ještě většinou nutné nastavit proměnnou PATH na C:\ následujícím příkazem (viz manuál):

set PATH=C:\

Jinak by při spuštění parcfg.exe mohla vyskočit hláška OMPT:= cannot open. Jde o chybu ve spouštěcím kódu překladače DJGPP.

V konfigurační utilitě se nastaví aktuální parametry paralelního portu a typ použitého kabelu a nakonec je vygenerován soubor parcp.cfg. Tento soubor jsem poté překopíroval do složky s linuxovou verzí parcp.

Zde si dovolím uvést obsah vygenerovaného souboru parcp.cfg, aby nebylo nutné spouštět DOSový konfigurátor. Parametry stačí případně pozměnit podle aktuální konfigurace (jsou vysvětleny v manuálu):

[PARCP]
UserName = Unregistered User
KeyCode = ABCDEFGHIJKLMNOP
Port = 378
UNI-BI = No
PortType = 1            #0=unidirect, 1=SPP or EPP, 2=ECP
CableType = 1           #0=Laplink, 1=PARCP cable
FastRoutines = No
ProcessSubDir = Yes
CaseSensitive = Yes
PreserveCase = Yes
ShowHidden = No
OverOlder = R
OverNewer = A
KeepTimeStamp = Yes
KeepAttribs = No
HashMark = Yes
QuitAfterDrop = Yes
CRC = No
BlockSize = 50
DirectoryLines = 10
FileBuffers = 1
Timeout = 10
DirSort = U
SortCase = No
Autoexec =
ArchiveMode = No
CollectInfo = Yes
Shell = Yes             # Yes => start with fullscreen user interface

[PARSHELL]
UseColors = Yes         # Yes => use colors (white on blue, like Norton Commander)
UseMarks = No           # Yes => mark selected files with asterix
SmoothScroll = Yes      # Yes => scroll contents by lines (might be slow on Atari)
ShowSize = Yes          # Yes => show size of files in directory listing
ShowDate = Yes          # Yes => show datestamp of files in directory listing
ShowTime = No           # Yes => show timestamp of files in directory listing
Viewer =                # filename = external text viewer (empty => use internal viewer)
Editor =                # filename = external text editor
TempDir =               # filepath = path to directory for temporary files

POZOR! Před připojením LPT kabelu pro přenos dat a spuštěním samotného komunikačního programu parcp je nutné na obou počítačích spustit utilitu par_in (na Atari PAR_IN.PRG), která zajistí přepnutí LPT portu do vstupního stavu. Jelikož je nebezpečné, pokud by oba počítače měly nastaveny paralelní porty jako výstupní - mohlo by dojít ke zkratům, restartu počítače nebo i zničení portu! Je k tomu něco v manuálu zde.

Takže spouštím na Linuxu par_in ze složky parcp390/ubuntu takto:

sudo ./par_in

Teprve poté je bezpečné propojit počítače paralelním kabelem. Toto lze provést za chodu, jelikož LPT porty jsou díky příkazu par_in nastaveny jako vstupní, takže již nehrozí vzájemná kolize napětí mezi porty. Příkaz par_in by se měl provést hned po startu nebo restartu počítače, takže je vhodné jej umístit do autoexec.bat nebo jiného podobného dávkového souboru (podle typu počítače a operačního systému). Pokud se tedy bude parcp používat často.

No a nakonec je třeba na jednom počítači nastartovat parcp v režimu Server. To lze provést pomocí následujícího příkazu:

sudo ./parserve

nebo

sudo ./parcp -s

Server se spustí a čeká na příkazy z klientského počítače.

Na druhém počítači je potřeba spustit parcp v režimu Client:

sudo ./parcp

Pokud se kopíruje mezi PC a Atari, tak je vhodné spustit režim Server na Atari a na PC spustit klienta. Pokud je v konfiguračním souboru nastaven parametr Shell na Yes, spustí se celoobrazovkový souborový manažer. Jinak se klient přepne do příkazového režimu.

Veškeré příkazy terminálu (CLI) a klávesové zkratky souborového manažeru (Shellu) lze nastudovat v manuálu.

Souborový manažer se na klientovi ukončí klávesou F10 (v příkazovém režimu pomocí LQUIT). Celou session (server i klienta) lze ukončit v manažeru pomocí Shift + F10 (v příkaz. režimu pomocí příkazu QUIT).

Zkoušel jsem PARCP spojení LPT kabelem mezi dvěma počítači PC v konfiguracích: DOS+DOS, DOS+Ubuntu a DOS+WinXP. U XP mi spojení nefungovalo. Jelikož v systému Windows NT a novějších je potřeba nainstalovat ještě podporu komunikace s LPT (UserPort, PortTalk, atd.). PARCP by měl jinak běžet i na dalších podporovaných systémech.

Při použití adaptéru PARCP-USB odpadá spousta potenciálních potíží (např. nutnost generovat cfg v DOSu a spouštět par_in kvůli riziku zničení portu). Takže vám jej mohu já i Petr Stehlík jen doporučit! Ono to dnes už ani jinak ve většině případu nejde. Jelikož počítače PC s paralelními porty už pomalu odnesl čas.

Děkuji tímto Petrovi za přínosný a užitečný projekt nejen pro Ataristy, ale i pro "písíčkáře".

PARCP-USB adapter

Použitá fotodokumentace je z archivu Petra Stehlíka.

 

Komentáře

Přidat komentář

Přehled komentářů

Díky

Pavel, 26. 2. 2021 13:28

Dík za informace, které jsem při prvním rychlém čtení manuálu přeskoči a pak se divil, že mi to nefunguje :)

Kelemomia

Kelemomia, 29. 1. 2019 12:23

Re: Kelemomia

PedroS, 29. 1. 2019 13:47

kusuka kuphi?