Přenos dat mezi PC a 68k-MBC
Přenos dat (ať už textových zdrojových kódů nebo zkompilovaných binárních programů) z moderního počítače do retro počítače 68k-MBC s operačním systémem CP/M-68K představuje technickou výzvu. Terminálové emulátory a sériové linky jsou historicky navrženy primárně pro textová data, obvykle reprezentovaná 7bitovými nebo 8bitovými ASCII znaky. Pokud se přes takovou linku pokusíme odeslat surový binární soubor, nedopadne to dobře. Speciální řídící znaky obsažené v binárních datech vyvolávají nechtěné reakce operačního systému. Například byte 0x03 interpretuje systém jako přerušení (Ctrl+C), 0x1A jako konec souboru (EOF) a 0x04 jako konec vysílání (EOT). Výsledkem je poškození přenášeného souboru nebo úplný pád přenosu. Vkládání prostého textu pomocí schránky (Ctrl-V v emulátoru) je zase velmi pomalé, vyžaduje umělé vkládání pauz po každém znaku i řádku a neřeší problém s nekompatibilními znaky, jako je UTF-8 diakritika. Tradičním řešením pro bezpečný binární přenos bývaly protokoly s kontrolou chyb, jako je XMODEM nebo Kermit. Postavíme si svůj kompletní systém 68k-ser (skládající se z Python skriptu 68k-ser.py na PC a programu 68KSER.C na CP/M). Duální sériový port Základem rychlé a plynulé práce je využití obou sériových portů, kterými deska 68k-MBC (ve verzi FULL) disponuje: Port J4 (AUX): Obsahuje integrovaný sériový budič MAX323 (RS-232) a v moderním OS se typicky hlásí jako /dev/ttyUSB1. Slouží pro připojení fyzického terminálu nebo emulátoru (např. tio) a je vyhrazen pro interaktivní zadávání příkazů. Port J2 (SER1): Port v TTL logice, hlásící se typicky jako /dev/ttyUSB0. Tento port slouží výhradně jako vyhrazený datový kanál pro běh přenosových skriptů. ...